Встроить объект в Excel программно

Я пробовал несколько библиотек, включая EPPlus, NPOI, и они могут вставлять изображения, но я не смог найти, как вставлять объекты (pdf, текстовые файлы, изображения) < strong>как файлы. Есть ли способ или библиотека для этого в .NET? Спасибо!


person Romko    schedule 25.07.2013    source источник


Ответы (1)


Используя этот код, я смог встроить файл PDF, файл txt и файл png в Excel с помощью C#.

    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();
        }
    }

Затем вы вызываете функцию с путем к объекту, который хотите встроить:

    ExcelReaderFunctions.ExcelInsertOLE(@"c:\my.pdf");
    ExcelReaderFunctions.ExcelInsertOLE(@"c:\my.txt");
    ExcelReaderFunctions.ExcelInsertOLE(@"c:\my.png");

Ресурс:

MSDN OLEDBObjects.Добавить метод

person jiverson    schedule 26.07.2013
comment
Как обрезать oleObjects? - person Hugues Paquet Blanchette; 20.05.2015