使用NPOI进行导出Excel表格大家基本都会,我在网上却很少找到导出Excel表格并提示下载的

简单的代码如下

         //mvc项目可以传多个id以逗号相隔的字符串
public ActionResult execl(string ids)
{
List<PayLog> list = new List<PayLog>();//准备需要灌入excel的数据,paylog可替换你自己的数据类,这里因为是源代码所以没改
string[] idsstring = ids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);//拆字符串
for (int j = ; j < idsstring.Length; j++)//查找需要灌入的数据放入list里,asp.net这里为从dal层拿到的数据同样放入list
{
string str = idsstring[j];
list.Add(DbSession.PayLogRepository.Fetch(x => x.FInvoiceId == str));//该写法为mvc写法,链接数据库读取数据对象
}
HSSFWorkbook work = new HSSFWorkbook();//创建excel文件对象
HSSFSheet sheet = work.CreateSheet();//创建excel里的页,括号中可以写你想要该页的名字,默认sheet
HSSFRow row = sheet.CreateRow();//创建当前页的第一行
row.CreateCell(, HSSFCell.CELL_TYPE_STRING).SetCellValue("流水号");//创建页面上第一行的第一列的数据
row.CreateCell(, HSSFCell.CELL_TYPE_STRING).SetCellValue("编码");
//循环对象集合创建数据列
for (int i = ; i < list.Count; i++)
{
HSSFRow rows = sheet.CreateRow(i + );//创建第二行
rows.CreateCell(, HSSFCell.CELL_TYPE_STRING).SetCellValue(list[i].FPayInNo);//创建第二行第一列
rows.CreateCell(, HSSFCell.CELL_TYPE_STRING).SetCellValue(list[i].FEnterpriseId);
}
string path = @"F:\信息.xls";//项目中应该改为相对路径而不是绝对路径 //因不知道用户的excel版本所以生成文件后缀为.xls,因为2003版的excel后缀名为.xls,2007版后均为.xlsx
using (FileStream file = new FileStream(path, FileMode.Create))//创建文件流,将灌好数据的excel文件写入服务器的硬盘
{
work.Write(file);
}
return File(new FileStream(path, FileMode.Open), "application/ms-excel", "信息.xls");//提示用户下载服务器上的文件

结果如图

使用NPOI将数据库里信息导出Excel表格并提示用户下载的更多相关文章

  1. dedecms--会员信息导出excel表格

    1:在dede/templets下面的member_main.htm,在全选按钮那里添加一个导出excel按钮:代码如下: <a href="toexcel.php" cla ...

  2. 一个php文件就可以把数据库的数据导出Excel表格

    数据库内容太多,复制粘贴太麻烦?那就用代码实现把,把代码写好了,导出还不容易吗,访问即可导出. excel.php <?php error_reporting(E_ALL ^ E_DEPRECA ...

  3. C#使用NPOI导出Excel表格

    using NPOI.HSSF.UserModel;using NPOI.SS.UserModel; /// <summary> /// DataTable导出Excel /// < ...

  4. NPOI导出excel表格应用

    最近接到一个需求,在原有系统上做二次开发 ,要求导出DataGridView数据到Excel表格中.要求如下: 兼容所有excel版本: 导出后excel各列的样式,字段类型不变. 成型如下:

  5. PHP导入导出excel表格图片(转)

    写excel的时候,我用过pear的库,也用过pack压包的头,同样那些利用smarty等作的简单替换xml的也用过,csv的就更不用谈了.呵呵.(COM方式不讲了,这种可读的太多了,我也写过利用wp ...

  6. .NET环境下导出Excel表格的两种方式和导入两种类型的Excel表格

    一.导出Excel表格的两种方式,其中两种方式指的是导出XML数据类型的Excel(即保存的时候可以只需要修改扩展名为.xls)和真正的Excel这两种. using System; using Sy ...

  7. PHP导入导出excel表格图片的代码和方法大全

    基本上导出的文件分为两种: 1:类Excel格式,这个其实不是传统意义上的Excel文件,只是因为Excel的兼容能力强,能够正确打开而已.修改这种文件后再保存,通常会提示你是否要转换成Excel文件 ...

  8. NPOI_winfrom导出Excel表格(一)(合并单元格、规定范围加外边框、存储路径弹框选择)

    1.导出 private void btn_print_Click(object sender, EventArgs e) { DataTable dtNew = new DataTable(); d ...

  9. tp5.0 composer下载phpexcel 实现导出excel 表格

    tp5.0 composer下载phpexcel 实现导出excel 表格 1.在下载好的tp5.0 框架里面使用 composer 下载phpexcel 的插件 composer require p ...

随机推荐

  1. 解决ligerUI服务器分页Total不起作用的问题

    Js代码:   $('#userTable').ligerGrid({ width:'100%', height:'100%', title:'用户列表', //url:'', dataAction: ...

  2. Linux 结束占用端口的程序

    [root@ucit ~]# lsof -i:80COMMAND    PID USER   FD   TYPE DEVICE SIZE NODE NAMEjava      1839 root   ...

  3. CocosCode IDE 打包APK失败的原因

    因为在lua目录下应用了git版本控制,导致打包的时候,复制(移动).git里面的文失败.从而第一次能打包成功,第二次之后就会失败.提示 os.move()失败.对应framworks/runtime ...

  4. hdu 4578 Transformation

    http://acm.hdu.edu.cn/showproblem.php?pid=4578 题意:1,a,b,c代表在a,b区间的每一个数加上c:2,a,b,c代表在a,b区间的每一个数乘上c: 3 ...

  5. 原已经安装好的nginx,现在需要添加一个未被编译安装的模块--echo-nginx-module-0.56

    为了测试一个NGINX变量,将NGINX加了一个编译模板echo-nginx-module-0.56. 参照如下文件 1,先看以前NGINX有哪些东东. sbin/nginx -Vnginx vers ...

  6. IQC IPQC FQC OQC QA QE SQE CQS QM 简介区别

    IQC Incoming quality control 来料质量控制.是企业产品过程质量的第一关,在这个部门工作的同事最主要的是要注意文件和资料,即:图纸 样品承认书 样板 ***配件检验规范 ,还 ...

  7. Linux 下的下载文件命令

    普通文件只需 wget  fileAddr 下载带有登录验证的文件 [chen@localhost Downloads]$ wget --user='av\bname' --ask-password ...

  8. idea

    一. 常用快捷键 搜索class Ctrl+N 搜索文件 Ctrl+Alt+N 当前窗口查找/全工程查找 Ctrl+F/Ctrl+Shift+F,F3/Shift+F3前后移动 上/下一个位置 Ctr ...

  9. 【转】图文并茂 Ubuntu使用Thunderbird方法指南

    原文网址:http://os.51cto.com/art/201101/243445.htm Ubuntu 是一个启动速度超快.界面友好.安全性好的操作系统,它适用于桌面电脑.笔记本电脑.服务器以及上 ...

  10. 事件处理原理(IOS篇) by sixleaves

    前言 了解IOS事件处理的本质关键要先掌握几个概念.首先是事件的派发(Event Delivery)的过程, 一个是响应者链条如何构成. 事件的派发: Q1: 你有没有想过,如果你一个屏幕中有多个的V ...