程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#操作Excel知識點

C#操作Excel知識點

編輯:C#入門知識

近期在使用C#操作excel,主要是讀取excel模板,復制其中的模板sheet頁,生成多個sheet頁填充相應數據後另存到excel文件,所用到的知識點如下。

一、添加引用和命名空間

添加Microsoft.Office.Interop.Excel引用,它的默認路徑是C:Program FilesMicrosoft Visual Studio 9.0Visual Studio Tools for OfficePIAOffice12Microsoft.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 實例,並在最後將此實例釋放。

ApplicationClass xlsApp = new ApplicationClass();  // 1. 創建Excel應用程序對象的一個實例,相當於我們從開始菜單打開Excel應用程序。
if (xlsApp == null)
{
  //對此實例進行驗證,如果為null則表示運行此代碼的機器可能未安裝Excel
}

1. 打開現有的Excel文件

 代碼

Workbook workbook = xlsApp.Workbooks.Open(excelFilePath, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

Worksheet mySheet = workbook.Sheets[1] as Worksheet; //第一個sheet頁
mySheet.Name = "testsheet";  //這裡修改sheet名稱

2.復制sheet頁

mySheet.Copy(Type.Missing, workbook.Sheets[1]); //復制mySheet成一個新的sheet頁,復制完後的名稱是mySheet頁名稱後加一個(2),這裡就是testsheet(2),復制完後,Worksheet的數量增加一個

注意 這裡Copy方法的兩個參數,指是的復制出來新的sheet頁是在指定sheet頁的前面還是後面,上面的例子就是指復制的sheet頁在第一個sheet頁的後面。

3.刪除sheet頁

xlsApp.DisplayAlerts = false; //如果想刪除某個sheet頁,首先要將此項設為fasle。
(xlsApp.ActiveWorkbook.Sheets[1] as Worksheet).Delete();

4.選中sheet頁

(xlsApp.ActiveWorkbook.Sheets[1] as Worksheet).Select(Type.Missing); //選中某個sheet頁

5.另存excel文件

workbook.Saved = true;
workbook.SaveCopyAs(filepath);

6.釋放excel資源            

workbook.Close(true, Type.Missing, Type.Missing);
workbook = null;
xlsApp.Quit();
xlsApp = null;     

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved