說明:
利用Microsoft.Office.Interop.Excel來寫入Excel檔案。
using System.IO;
using Excel = Microsoft.Office.Interop.Excel;
using System.Reflection;
//設定必要的物件
//按照順序分別是Application > Workbook > Worksheet > Range > Cell
//(1) Application :代表一個 Excel 程序。
//(2) WorkBook :代表一個 Excel 工作簿。
//(3) WorkSheet :代表一個 Excel 工作表,一個 WorkBook 包含好幾個工作表。
//(4) Range :代表 WorkSheet 中的多個單元格區域。
//(5) Cell :代表 WorkSheet 中的一個單元格。
Excel.Application App = new Excel.Application();
//取得欲寫入的檔案路徑
string strPath = "C:\\Test.xls";
Excel.Workbook Wbook = App.Workbooks.Open(strPath);
//將欲修改的檔案屬性設為非唯讀(Normal),若寫入檔案為唯讀,則會無法寫入
System.IO.FileInfo xlsAttribute = new FileInfo(strPath);
xlsAttribute.Attributes = FileAttributes.Normal;
//取得batchItem的工作表
Excel.Worksheet Wsheet = (Excel.Worksheet)Wbook.Sheets["SheetA"];
//取得工作表的單元格
//列(左至右)ABCDE、行(上至下)12345
Excel.Range aRangeChange = Wsheet.get_Range("B1");
//在工作表的特定儲存格,設定內容
aRangeChange.Value2 = "加入訊息";
//設置禁止彈出保存和覆蓋的詢問提示框
Wsheet.Application.DisplayAlerts = false;
Wsheet.Application.AlertBeforeOverwriting = false;
//保存工作表,因為禁止彈出儲存提示框,所以需在此儲存,否則寫入的資料會無法儲存
Wbook.Save();
//關閉EXCEL
Wbook.Close();
//離開應用程式
App.Quit();
InPut:
OutPut:
結論:
還沒嘗試用oleDB寫入資料呢!下次可試試。
參考以下資料:
C# 將資料寫入Excel
http://gradyli.wordpress.com/2011/10/23/c-%E5%B0%87%E8%B3%87%E6%96%99%E5%AF%AB%E5%85%A5excel/
C# Excel 寫入多工作表
http://gradyli.wordpress.com/2011/12/12/c-excel-%E5%AF%AB%E5%85%A5%E5%A4%9A%E5%B7%A5%E4%BD%9C%E8%A1%A8/
留言列表