C#操作Excel知識點

來源:互聯網
上載者:User

近期在使用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 執行個體,並在最後將此執行個體釋放。

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;

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.