錯誤 CS0246:找不到類型或命名空間名稱 'Excel' (是否缺少 using 指令或組件參考?)
明明已在參考中加入 Microsoft Excel 14.0/15.0/16.0 Object Library**,專案卻無法識別 Excel.Application 等類型。
Microsoft.Office.Interop.Excel,而非單純的 Excel。在程式碼頂部加入別名導向,即可沿用習慣的 Excel 簡寫:
using Excel = Microsoft.Office.Interop.Excel;
// 之後即可直接使用
Excel.Application app = new Excel.Application();
Excel.Workbook wb = app.Workbooks.Add();
Excel.Worksheet ws = (Excel.Worksheet)wb.ActiveSheet;
Install-Package Microsoft.Office.Interop.Excel
Microsoft.Office.Interop.Excel → 屬性 → 設定 Embed Interop Types = True (預設為 True,可減少部署檔案)。bin/obj 資料夾並重建專案。| 程式庫 | 特點 | 適用場景 |
|---|---|---|
| EPPlus | 支援 .xlsx、效能佳、無 Office 相依 | 伺服器端報表匯出、大量資料處理 |
| ClosedXML | API 直覺、支援樣式、無 Office 相依 | 一般商務應用匯入匯出 |
| NPOI | 支援 .xls/.xlsx、Java POI 移植、成熟穩定 | 需相容舊版 .xls 格式 |