[C#.Net] Microsoft.Office.Interop.Excel 讀 / 寫 Excel 語法概全
Excel是相當好用的”傢絲”大部份的電腦都會安裝,用它來展現報表是相當方便;若是對方的電腦沒有安裝EXCEL,你想寫免安裝軟體,那也沒有關係,只要將你自己電腦中的EXCEL.EXE放進專案資料夾,再引用它。
第一步:加入EXCEL.EXE當參考,如同我所說的,你可以引用專案資料夾中的EXCEL.EXE,引用完後你就可以在方案總管看到Excel。
在物件瀏覽器中也可以見到Microsoft.Office.Interop.Excel
或者可以直接加入參考,兩種方法選一種來用
第二步:引用Microsoft.Office.Interop.Excel命名空間
using Microsoft.Office.Interop.Excel;
第三步:引用Excel類別
//引用Excel Application類別
_Application myExcel = null;
//引用活頁簿類別
_Workbook myBook = null;
//引用工作表類別
_Worksheet mySheet = null;
//引用Range類別
Range myRange = null;
第四步:建立一個新的Excel
//開啟一個新的應用程式
myExcel = new Microsoft.Office.Interop.Excel.Application();
第五步:快樂的使用Excel
//加入新的活頁簿 myExcel.Workbooks.Add(true);//停用警告訊息myExcel.DisplayAlerts = false;//讓Excel文件可見 myExcel.Visible = true;//引用第一個活頁簿myBook = myExcel.Workbooks[1];//設定活頁簿焦點myBook.Activate();//引用第一個工作表mySheet = (_Worksheet)myBook.Worksheets[1];//命名工作表的名稱為 "Array"mySheet.Name = "Cells";//設工作表焦點mySheet.Activate(); //用offset寫入陣列資料myRange = mySheet.get_Range("A2", Type.Missing);myRange.get_Offset(i, j).Select();myRange.Value2 = "'" + myData[i, j]; //用Cells寫入陣列資料myRange.get_Range(myExcel.Cells[2 + i, 1 + j], myExcel.Cells[2 + i, 1 + j]).Select();myExcel.Cells[2 + i, 1 + j] = "'" + myData[i, j]; //加入新的工作表在第1張工作表之後myBook.Sheets.Add(Type.Missing, myBook.Worksheets[1], 1, Type.Missing);//引用第2個工作表mySheet = (_Worksheet)myBook.Worksheets[2];//命名工作表的名稱為 "Array"
mySheet.Name = "Array";//加入新的工作表在第1張工作表之後
myBook.Sheets.Add(Type.Missing, myBook.Worksheets[1], 1, Type.Missing);
//引用第2個工作表
mySheet = (_Worksheet)myBook.Worksheets[2];
//命名工作表的名稱為 "Array"
mySheet.Name = "Array";
//寫入報表名稱
myExcel.Cells[1, 4] = "普通報表";
//設定範圍
myRange=(Range)mySheet.get_Range(myExcel.Cells[2, 1], myExcel.Cells[UpBound1 + 1, UpBound2 + 1]);
myRange.Select();
//用陣列一次寫入資料
myRange.Value2 = "'" + myData;
//設定儲存路徑
string PathFile = Directory.GetCurrentDirectory() + @"\button4.xls";
//另存活頁簿
myBook.SaveAs(PathFile, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing
, XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, ype.Missing,Type.Missing,Type.Missing);
//關閉活頁簿
myBook.Close(false, Type.Missing, Type.Missing);
//關閉Excel
myExcel.Quit();
//釋放Excel資源
System.Runtime.InteropServices.Marshal.ReleaseComObject(myExcel);
myBook = null;
mySheet = null;
myRange = null;
myExcel = null;
GC.Collect();
更多的語法在附件內
範例下載:C#讀Excel.rar
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET