.Net 將 DataSet 匯出到 Excel 利用 NPOI .Net 將 DataSet 匯出到 Excel 利用 NPOI
  .NET       ez      2012-05-10

利用 NPOI 即可將 DataSet 匯出到 Excel 檔案。

官方網站:http://npoi.codeplex.com/

本地DLL下載:NPOI v1.25 .NET3.5 (已修改版可以超過4000條style限制)

程式碼範例:

            DataSet DS = new DataSet();
            HSSFWorkbook workbook = new HSSFWorkbook();
            HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet("工作表名稱");
            //顯示 Table 0 的所有欄位名稱
            HSSFRow headerRow = (HSSFRow)sheet.CreateRow(0);
            foreach (DataColumn column in DS.Tables[0].Columns)
            {
                headerRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);
            }
            //顯示 所有資料列
            int rowIndex = 1;
            foreach (DataRow row in DS.Tables[0].Rows)
            {
                HSSFRow dataRow = (HSSFRow)sheet.CreateRow(rowIndex);
                foreach (DataColumn column in DS.Tables[0].Columns)
                {
                    dataRow.CreateCell(column.Ordinal).SetCellValue(row[column].ToString());
                }
                dataRow = null;
                rowIndex++;
            }

            Response.Clear();

            // 產生 Excel 資料流
            MemoryStream ms = new MemoryStream();
            workbook.Write(ms);
            headerRow = null;
            sheet = null;
            workbook = null;

            // 設定強制下載標頭
            Response.AddHeader("Content-Disposition", string.Format("attachment; filename=Download.xls"));
            // 輸出檔案
            Response.BinaryWrite(ms.ToArray());
            ms.Close();
            ms.Dispose();
            Response.End();

標籤:   .NET

我要留言