NPOI 匯出 Excel
迷思
一直有人在問DataGrid的資料如何匯出Excel. DataGrid並沒有存取每個Cell值的方法, 硬要作的話就是要寫一大堆代碼。
但試想, DataGrid裏的值, 是那裏來的? 就是使用 grid.DataContext = DataTable, 把DataTable裏放入DataGrid裏
所以主題要變換一下, 如何把DataTable匯出Excel
Excel套件
網路上大都教學使用Microsoft.Office.Interop.Excel套件,此套件是微軟自行開發的。在匯出資料時,會於背景開啟Excel, 然後與C#進行資料的傳輸。此方法除了效能極差之外,客戶端必需安裝Excel才可執行。所以根本就不建議使用此方法。
本章要介紹的,是另一個效能極高的NPOI套件,而且客戶端不需安裝Excel就能執行。請先由工具/NuGet套件管理員/管理方案的NuGet套件,然後於瀏覽搜尋NPOI套件,進行安裝即可
建立工作簿及工作表
NPOI.XSSF是建立Excel 2006及以上的版本,副檔名為 .xlsx。NPOI.HSSF則是建立2006以前的版本,副檔名為 .xls。
首先使用XSSFWorkbook()產生一個工作簿物件workbook, 再由workbook.CreateSheet(“Sheet”)工作表 sheet 物件。然後就可以開始由sheet進行資料填入。
