使用NPOI将数据库里信息导出Excel表格并提示用户下载
生活随笔
收集整理的這篇文章主要介紹了
使用NPOI将数据库里信息导出Excel表格并提示用户下载
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用NPOI進行導出Excel表格大家基本都會,我在網上卻很少找到導出Excel表格并提示下載的
簡單的代碼如下
1 //mvc項目可以傳多個id以逗號相隔的字符串2 public ActionResult execl(string ids)3 {4 List<PayLog> list = new List<PayLog>();//準備需要灌入excel的數據,paylog可替換你自己的數據類,這里因為是源代碼所以沒改5 string[] idsstring = ids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);//拆字符串6 for (int j = 0; j < idsstring.Length; j++)//查找需要灌入的數據放入list里,asp.net這里為從dal層拿到的數據同樣放入list7 {8 string str = idsstring[j];9 list.Add(DbSession.PayLogRepository.Fetch(x => x.FInvoiceId == str));//該寫法為mvc寫法,鏈接數據庫讀取數據對象 10 } 11 HSSFWorkbook work = new HSSFWorkbook();//創(chuàng)建excel文件對象 12 HSSFSheet sheet = work.CreateSheet();//創(chuàng)建excel里的頁,括號中可以寫你想要該頁的名字,默認sheet 13 HSSFRow row = sheet.CreateRow(0);//創(chuàng)建當前頁的第一行 14 row.CreateCell(0, HSSFCell.CELL_TYPE_STRING).SetCellValue("流水號");//創(chuàng)建頁面上第一行的第一列的數據 15 row.CreateCell(1, HSSFCell.CELL_TYPE_STRING).SetCellValue("編碼"); 16 //循環(huán)對象集合創(chuàng)建數據列 17 for (int i = 0; i < list.Count; i++) 18 { 19 HSSFRow rows = sheet.CreateRow(i + 1);//創(chuàng)建第二行 20 rows.CreateCell(0, HSSFCell.CELL_TYPE_STRING).SetCellValue(list[i].FPayInNo);//創(chuàng)建第二行第一列 21 rows.CreateCell(1, HSSFCell.CELL_TYPE_STRING).SetCellValue(list[i].FEnterpriseId); 22 } 23 string path = @"F:\信息.xls";//項目中應該改為相對路徑而不是絕對路徑 //因不知道用戶的excel版本所以生成文件后綴為.xls,因為2003版的excel后綴名為.xls,2007版后均為.xlsx 24 using (FileStream file = new FileStream(path, FileMode.Create))//創(chuàng)建文件流,將灌好數據的excel文件寫入服務器的硬盤 25 { 26 work.Write(file); 27 } 28 return File(new FileStream(path, FileMode.Open), "application/ms-excel", "信息.xls");//提示用戶下載服務器上的文件結果如圖
好文要頂?關注我?收藏該文總結
以上是生活随笔為你收集整理的使用NPOI将数据库里信息导出Excel表格并提示用户下载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 交房的小区怎么打瓷砖电话?
- 下一篇: 三门县那几个厂在做气车后备箱垫三`门那个