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