讓開發者能透過 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.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 以上的相容版本,
才能確保專案在使用者端能夠正確的運行,
以上就是今天要教大家的