近期在使用C#操作excel,主要是讀取excel模板,複製其中的模板sheet頁,生成多個sheet頁填充相應數據後另存到excel文件,所用到的知識點如下。
一、添加引用和命名空間
添加Microsoft.Office.Interop.Excel引用,它的默認路徑是C:\Program Files\Microsoft Visual Studio 9.0\Visual Studio Tools for Office\PIA\Office12\Microsoft.Office.Interop.Excel.dll
代碼中添加引用using Microsoft.Office.Interop.Excel;
二、Excel類的簡單介紹
此命名空間下關於Excel類的結構分別爲:
ApplicationClass - 就是我們的excel應用程序。
Workbook - 就是我們平常見的一個個excel文件,經常是使用Workbooks類對其進行操作。
Worksheet - 就是excel文件中的一個個sheet頁。
Worksheet.Cells[row, column] - 就是某行某列的單元格,注意這裏的下標row和column都是從1開始的,跟我平常用的數組或集合的下標有所不同。
知道了上述基本知識後,利用此類來操作excel就清晰了很多。
三、Excel的操作
任何操作Excel的動作首先肯定是用excel應用程序,首先要new一個ApplicationClass 實例,並在最後將此實例釋放。
if (xlsApp == null)
{
//對此實例進行驗證,如果爲null則表示運行此代碼的機器可能未安裝Excel
}
1. 打開現有的Excel文件
Worksheet mySheet = workbook.Sheets[1] as Worksheet; //第一個sheet頁
mySheet.Name = "testsheet"; //這裏修改sheet名稱
注意:這裏Copy方法的兩個參數,指是的複製出來新的sheet頁是在指定sheet頁的前面還是後面,上面的例子就是指複製的sheet頁在第一個sheet頁的後面。
(xlsApp.ActiveWorkbook.Sheets[1] as Worksheet).Delete();
workbook.SaveCopyAs(filepath);
workbook = null;
xlsApp.Quit();
xlsApp = null;