C# 透過主要 Interop 元件存取Excel 檔案

首頁 >> Research >> 程式設計 >> C# 透過主要 Interop 元件存取Excel 檔案

微軟 Office 提供了主要Office Interop 物件,

讓開發者能透過 PIA 來存取 Office中的套裝軟體,

達到以程式編修此類檔案的效果,

今天則以 Excel 為範例教大家

C# 透過主要 Interop 元件存取Excel 檔案

開發者要使用 PIA (primary interop assemblies) 存取 Excel 文件,

在安裝 Office 時,

請安裝 Microsoft Office 主要 Interop 組件 (PIA),

建置 PIA相關的專案時,

PIA 會內嵌在解決方案中,

因此不需要將 PIA 散發給使用者作為專案的必要條件

要使用 namespace :Microsoft.Office.Interop.Excel

必須先從方案總管選擇”加入參考”,

從參考管理員的 COM頁找到 Microsoft Excel 的 Object Library將其加入,

就可使用底下程式碼使用命名空間

using Excel=Microsoft.Office.Interop.Excel;

要存取 Excel 檔案就得執行上述三行程式碼:

   Excel.Application excelApp = new Excel.Application();

   Excel.Workbook myWorkBook = excelApp.Workbooks.Open(strPath);

   Excel.Worksheet mySheet = myWorkBook.ActiveSheet;

重點為

Excel.Application:用來開啟應用程式 Excel

Excel.Workbook: 用來新建或者開啟 Excel 檔案 (此處範例為開啟檔案)

Excel.Worksheet: 則是開啟試算表,ActiveSheet 代表預設開啟頁

接著就能以

dataRange = (Excel.Range)mySheet.Cells[row, col];

來取得某個範圍的 excel 欄位來處理,

或者以

mySheet .Cells[1, 1] = “寫入的資料”;

直接賦予某個欄位特定的值

最後以

myWorkBook.Save();

進行儲存變更後關閉檔案與應用程式即可

 myWorkBook.Close();

 excelApp.Quit();

其實就是反向執行最初開啟 Excel 檔案的三個步驟,

透過程式存取 Excel 檔案當然就是為了自動化執行,

也可透過類似底下 Columns 的 AutoFit() 調整資料行的寬度或者其他格式的設定,

當然功能面就由開發者根據使用者需求來修改相應的程式碼了

((Excel.Range)mySheet.Columns[1]).AutoFit();

((Excel.Range)mySheet.Columns[2]).AutoFit();

至於使用者端基本上要安裝相容的 Office 之外,

最好要安裝 Visual Studio 2010 Tools for Office Runtime 以上的相容版本,

才能確保專案在使用者端能夠正確的運行,

以上就是今天要教大家的

C# 透過主要 Interop 元件存取Excel 檔案



================================
分享與讚美,是我們繼續打拼的原動力.
若文章對您有幫助,望請不吝按讚或分享.
或者對影片有興趣可以訂閱頻道接收通知
================================
YouTube 頻道
FB 粉絲專頁
================================

guangyaw

重點主題: 程式設計: Python , Django,Android 工具與軟體: Open edX,Linux工具,Blender教學 分享各地美景與產品使用心得,遊戲實況,甚至影視戲劇等, 您的訂閱就是頻道成長的原動力。 YouTube 頻道: https://youtube.com/xyawli

You may also like...

1 Response

  1. 2022-10-14

    […] 上次的 C# 教學介紹了使用主要 Interop 元件存取Excel 檔案, […]

發佈留言