使用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层拿到的数据同样放入list
 7             {
 8                 string str = idsstring[j];
 9                 list.Add(DbSession.PayLogRepository.Fetch(x => x.FInvoiceId == str));//该写法为mvc写法,链接数据库读取数据对象
10             }
11             HSSFWorkbook work = new HSSFWorkbook();//创建excel文件对象
12             HSSFSheet sheet = work.CreateSheet();//创建excel里的页,括号中可以写你想要该页的名字,默认sheet
13             HSSFRow row = sheet.CreateRow(0);//创建当前页的第一行
14             row.CreateCell(0, HSSFCell.CELL_TYPE_STRING).SetCellValue("流水号");//创建页面上第一行的第一列的数据
15             row.CreateCell(1, HSSFCell.CELL_TYPE_STRING).SetCellValue("编码");
16             //循环对象集合创建数据列
17             for (int i = 0; i < list.Count; i++)
18             {
19                 HSSFRow rows = sheet.CreateRow(i + 1);//创建第二行
20                 rows.CreateCell(0, HSSFCell.CELL_TYPE_STRING).SetCellValue(list[i].FPayInNo);//创建第二行第一列
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))//创建文件流,将灌好数据的excel文件写入服务器的硬盘
25             {
26                 work.Write(file);
27             }
28             return File(new FileStream(path, FileMode.Open), "application/ms-excel", "信息.xls");//提示用户下载服务器上的文件
复制代码
复制代码

结果如图

 本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/p/6268712.html,如需转载请自行联系原作者

相关文章
|
7月前
|
JSON 小程序 数据库
小程序批量导入excel数据,云开发数据库导出cvs乱码解决方案
小程序批量导入excel数据,云开发数据库导出cvs乱码解决方案
318 0
|
11月前
|
存储 JSON JavaScript
|
JSON NoSQL 小程序
小程序中实现excel数据的批量导入
小程序中实现excel数据的批量导入
小程序中实现excel数据的批量导入
|
XML SQL 关系型数据库
将Excel数据批量导入到数据库(项目案例)
我们今天就给大家介绍一个用途非常广泛的功能:批量导入,在很多系统中,这也是必须实现的功能。而且当Excel表结构越复杂时,实现的难度就越高。 不管项目如何复杂,原理却基本相同,一般是前台页面选择Excel文件,后台获取后进行数据转化,然后循环执行Sql语句即可,了解这些原理后,一切也就变得简单。
将Excel数据批量导入到数据库(项目案例)
|
SQL 数据库
数据库——多种方法导入Excel数据
数据库——多种方法导入Excel数据
数据库——多种方法导入Excel数据
|
关系型数据库 数据库 Oracle
如何从Excel表格导入数据批量生成二维码
目前二维码应用渐趋广泛,二维码具有储存量大、保密性高、追踪性高、抗损性强、备援性大、成本便宜等特性,这些特性特别适用于表单、安全保密、追踪、证照、存货盘点、资料备援等方面。那么我们怎么用条码打印软件从现有Excel表格中导入数据批量生成我们所需要的二维码呢? 首先我们打开条码打印软件,点击“新建”...
2319 0
|
监控 弹性计算
如何导出用户监控数据到Excel
如题,如何将监控数据导出到Excel呢,只需要3步就可以,下面我们以导出ECS的cpu为例子来说明 1.登录云监控控制台 地址:https://cloudmonitor.console.aliyun.
346254 0
|
数据库 Python SQL
|
移动开发 关系型数据库 数据库