以编程方式在 Excel 中嵌入对象

Rom*_*mko 5 c# excel excel-2007 epplus

我尝试过几个库,包括EPPlus、NPOI,它们可以插入图像,但我找不到如何将对象(pdf、文本文件、图像作为文件插入。在 .NET 中是否有任何方法或库可以做到这一点?谢谢!

jiv*_*son 3

使用此代码,我能够使用 C# 将 PDF 文件、txt 文件和 png 文件嵌入到 Excel 中。

    public static class ExcelReaderFunctions {

        public static void ExcelInsertOLE(string path) {

            Microsoft.Office.Interop.Excel.Application excel = new Application();
            excel.Workbooks.Add();            
            Microsoft.Office.Interop.Excel.Workbook workBook = excel.ActiveWorkbook;
            Microsoft.Office.Interop.Excel.Worksheet sheet = workBook.ActiveSheet;

            OLEObjects oleObjects =    (Microsoft.Office.Interop.Excel.OLEObjects)
                sheet.OLEObjects(Type.Missing);            

            oleObjects.Add(
                Type.Missing,   // ClassType
                path,           // Filename
                true,           // Link
                false,          // DisplayAsIcon
                Type.Missing,   // IconFileName
                Type.Missing,   // IconIndex
                Type.Missing,   // IconLabel
                Type.Missing,   // Left
                Type.Missing,   // Top
                Type.Missing,   // Width
                Type.Missing    // Height
            );

            excel.Visible = true;
            workBook.Close(true);
            excel.Quit();
        }
    }
Run Code Online (Sandbox Code Playgroud)

然后使用要嵌入的对象的路径调用该函数:

    ExcelReaderFunctions.ExcelInsertOLE(@"c:\my.pdf");
    ExcelReaderFunctions.ExcelInsertOLE(@"c:\my.txt");
    ExcelReaderFunctions.ExcelInsertOLE(@"c:\my.png");
Run Code Online (Sandbox Code Playgroud)

资源:

MSDN OLEDBObjects.Add 方法