2013-07-25 6 views
3

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

ответ

3

Используя этот код, я смог внедрить 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.Add Method

+0

спасибо, я постараюсь что – Romko

+0

Как обрезать oleObjects? –

Смежные вопросы