使用NPOI将数据库里信息导出Excel表格并提示用户下载
使用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表格并提示用户下载的更多相关文章
- dedecms--会员信息导出excel表格
1:在dede/templets下面的member_main.htm,在全选按钮那里添加一个导出excel按钮:代码如下: <a href="toexcel.php" cla ...
- 一个php文件就可以把数据库的数据导出Excel表格
数据库内容太多,复制粘贴太麻烦?那就用代码实现把,把代码写好了,导出还不容易吗,访问即可导出. excel.php <?php error_reporting(E_ALL ^ E_DEPRECA ...
- C#使用NPOI导出Excel表格
using NPOI.HSSF.UserModel;using NPOI.SS.UserModel; /// <summary> /// DataTable导出Excel /// < ...
- NPOI导出excel表格应用
最近接到一个需求,在原有系统上做二次开发 ,要求导出DataGridView数据到Excel表格中.要求如下: 兼容所有excel版本: 导出后excel各列的样式,字段类型不变. 成型如下:
- PHP导入导出excel表格图片(转)
写excel的时候,我用过pear的库,也用过pack压包的头,同样那些利用smarty等作的简单替换xml的也用过,csv的就更不用谈了.呵呵.(COM方式不讲了,这种可读的太多了,我也写过利用wp ...
- .NET环境下导出Excel表格的两种方式和导入两种类型的Excel表格
一.导出Excel表格的两种方式,其中两种方式指的是导出XML数据类型的Excel(即保存的时候可以只需要修改扩展名为.xls)和真正的Excel这两种. using System; using Sy ...
- PHP导入导出excel表格图片的代码和方法大全
基本上导出的文件分为两种: 1:类Excel格式,这个其实不是传统意义上的Excel文件,只是因为Excel的兼容能力强,能够正确打开而已.修改这种文件后再保存,通常会提示你是否要转换成Excel文件 ...
- NPOI_winfrom导出Excel表格(一)(合并单元格、规定范围加外边框、存储路径弹框选择)
1.导出 private void btn_print_Click(object sender, EventArgs e) { DataTable dtNew = new DataTable(); d ...
- tp5.0 composer下载phpexcel 实现导出excel 表格
tp5.0 composer下载phpexcel 实现导出excel 表格 1.在下载好的tp5.0 框架里面使用 composer 下载phpexcel 的插件 composer require p ...
随机推荐
- MySQL查看当前连接数、连接数和最大连接数
MySQL查看当前所有连接的详细资料: mysqladmin -u root -p processlist MySQL查看当前连接数(Threads为连接数) mysqladmin -u root - ...
- Cstring获取第N个字符
void CTestaDlg::GetCStringItemAt(CString strin,CString & strout,int nindex) { ); ; ]={'\0'}; whi ...
- 《Programming WPF》翻译 第7章 5.可视化层编程
原文:<Programming WPF>翻译 第7章 5.可视化层编程 形状元素能提供一种便利的方式与图形一起工作,在一些情形中,添加表示绘图的元素到UI树中,可能是比它的价值更加麻烦.你 ...
- windows下wchar_t* 转char*
这个在windows下很常见,常用,留个档. 一般用这个函数: size_t wcstombs( char *mbstr, const wchar_t *wcstr, size_t count ); ...
- Hibernate逆向工程全过程
前提你已经创建好了数据库,按如下操作进行: 1.添加hibernate.cfg.xml 在src下-->new-->other--->hibernate-->选择“Hibern ...
- c# list exists(contains) delegate 委托判断 元素是否在LIST中存在
static void Main(string[] args) { List<GoodsInfo> list = new List<GoodsIn ...
- mysql5.5 无法创建实例,error 16001
今天想用jdbc做个小程序,结果发现好久不用的mysql不好用了,我装的是社区版(win7)环境下,按理说不可能出问题,找了一堆解决方案都没解决,准备重装的时候想把mysql服务停了,直接在dos输入 ...
- PhpForm表单相关的超全局变量操作
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- (DP)Best Time to Buy and Sell Stock
题目: Say you have an array for which the ith element is the price of a given stock on day i. If you w ...
- Hdu2425-Hiking Trip(优先队列搜索)
Hiking in the mountains is seldom an easy task for most people, as it is extremely easy to get lost ...