Npoi匯出Excel 實戰篇(Webform)

來源:互聯網
上載者:User

標籤:

廢話不多說,直接上遇到的問題

需求:在這個介面點擊匯出,匯出頁面資料,苦於沒有做過webfrom項目,弄了半天還是沒想到原生態的好方法,所以在網上看了下有沒有匯出的好例子,結果發現有人推薦使用Npoi,抱著強烈的好奇心,就去查了下這個東東,發現果然強大,哈哈,裡面整合了很多東西,下面直接進入解決問題正題:

實現過程(僅供參考)

①發現項目裡面介面方法返回DataTable是帶參數的,所以新增了一個無參數的方法

②實現這個方法,重點是將查詢到的結果集放大DataTable中

③先去官網:http://npoi.codeplex.com/ 下載需要引入dll(可以選擇.net2.0或者.net4.0的dll),然後在網站中添加引用。[因為我的項目就用到了excel匯出,所以只添加了這兩個dll]

       

④執行點擊事件即可[本項目是點擊匯出Excel時,執行button3的點擊事件]

 

 ⑤添加方法(本方法可通用,其中rs是申明的一個全域DataTable ,將介面調用的查詢資料庫的方法直接返回給rs)

 1   NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook(); 2              NPOI.SS.UserModel.ISheet sheet = book.CreateSheet("Sheet1"); 3             //設定列的資訊 4  5              NPOI.SS.UserModel.IRow headerrow = sheet.CreateRow(0); 6              ICellStyle style = book.CreateCellStyle(); 7              style.Alignment = HorizontalAlignment.Center; 8              style.VerticalAlignment = VerticalAlignment.Center; 9             rs =CMSModelManager.SendInfoManageDAO.GetFirstSendInfoManageByIds();10             IRow rowHead = sheet.CreateRow(0);11             //填寫表頭12             for (int i = 0; i < rs.Columns.Count; i++)13             {14                 rowHead.CreateCell(i, CellType.String).SetCellValue(rs.Columns[i].ColumnName.ToString());15             }16 17              //填寫內容18              for (int i = 0; i < rs.Rows.Count; i++)19              {20                  IRow row = sheet.CreateRow(i + 1);21                  for (int j = 0; j < rs.Columns.Count; j++)22                  {23                      row.CreateCell(j, CellType.String).SetCellValue(rs.Rows[i][j].ToString());24                  }25              }26              MemoryStream ms = new MemoryStream();27              book.Write(ms);28              Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xls", HttpUtility.UrlEncode("寄件資訊表" + "_" + DateTime.Now.ToString("yyyy-MM-dd"), System.Text.Encoding.UTF8)));29              Response.BinaryWrite(ms.ToArray());30              Response.End();31              book = null;32              ms.Close();33              ms.Dispose();
View Code

⑥效果

 

   本文完

 

Npoi匯出Excel 實戰篇(Webform)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.