1.前言:
與上一篇文章內容相似,只是反過來要將資料圖片或是影像檔存入EXCEL,C#透過Interop的方式可完成此作業。
2.說明:
加入參考:
版本:12.0.0.0
Microsoft.Office.Interop.Excel
Office
加入命名空間:
using System.Reflection; using Excel = Microsoft.Office.Interop.Excel; using Office = Microsoft.Office.Core;
程式碼:
//使用Application類別,開啟Excel應用程式
Excel.ApplicationClass app = new Microsoft.Office.Interop.Excel.ApplicationClass();
//Excel文件開啟不可見
app.Visible = false;
//開啟Workbook
Excel.Workbook wb = null;
wb = app.Workbooks.Open(@"d:\tmp\putpicture.xlsx", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
Excel.Worksheet ws = (Excel.Worksheet)app.ActiveSheet;
ws.Shapes.AddPicture(@"d:\tmp\pic4.jpeg", Office.MsoTriState.msoFalse, Office.MsoTriState.msoCTrue, 0, 0, 300, 300);
wb.SaveAs(@"d:\tmp\putpicture.xlsx", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
//停用警告訊息
app.DisplayAlerts = false;
if (app != null)
{
//關閉活頁簿
wb.Close(Type.Missing, @"D:\tmp\putpicture.xlsx", Type.Missing);
//關閉Excel
app.Quit();
//釋放資源
System.Runtime.InteropServices.Marshal.ReleaseComObject(ws);
System.Runtime.InteropServices.Marshal.ReleaseComObject(wb);
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
ws = null;
wb = null;
app = null;
}
GC.Collect();
圖例:
文章標籤
全站熱搜
