NPOI导出Excel2007
public void Export_ProjectList(DataTable dt, HttpRequestBase Request)
{
string strModelFile = "";
strModelFile = Request.PhysicalApplicationPath + "ProjectList.xls";//模板地址
XSSFWorkbook workbook = null;
FileStream file = new FileStream(strModelFile, FileMode.Open, FileAccess.Read);
workbook = new XSSFWorkbook(file);//如果导出2003 则是HSSFWorkbook
HSSFSheet sheet = (HSSFSheet)workbook.GetSheet("ProjectList");//可以是ISheet Sheet=null;
if (sheet == null)
{
return;
}
ICellStyle cellStyle = workbook.CreateCellStyle();
cellStyle.BorderBottom = BorderStyle.Thin;
cellStyle.BorderLeft = BorderStyle.Thin;
cellStyle.BorderRight = BorderStyle.Thin;
cellStyle.BorderTop = BorderStyle.Thin;
cellStyle.WrapText = true;
cellStyle.Alignment = HorizontalAlignment.Center;
cellStyle.VerticalAlignment = VerticalAlignment.Center;
//设置详细信息
if (dt != null && dt.Rows.Count > 0)
{
IRow dataRowtitle = sheet.CreateRow(0);
dataRowtitle.Height = 500;
dataRowtitle.CreateCell(0).SetCellValue("序号");
dataRowtitle.CreateCell(1).SetCellValue("项目编号");
dataRowtitle.CreateCell(2).SetCellValue("项目名称");
dataRowtitle.CreateCell(3).SetCellValue("项目内容");
dataRowtitle.CreateCell(4).SetCellValue("行政区");
dataRowtitle.CreateCell(5).SetCellValue("所属分公司");
dataRowtitle.CreateCell(6).SetCellValue("联系人");
dataRowtitle.CreateCell(7).SetCellValue("联系人电话");
for (int i = 0; i < dt.Rows.Count; i++)
{
IRow dataRow = sheet.CreateRow(i + 1);
dataRow.Height = 450;
for (int j = 0; j < 8; j++)
{
ICell iCell = dataRow.CreateCell(j);
iCell.CellStyle = cellStyle;
switch (j)
{
case 0:
iCell.SetCellValue(i + 1);//序号
break;
case 1:
iCell.SetCellValue(dt.Rows[i]["PROJECTCODE"] == null ? "" : String.Format("{0:d}", dt.Rows[i]["PROJECTCODE"]));//项目编号
break;
case 2:
iCell.SetCellValue(dt.Rows[i]["NAME"].ToString());//项目名称
break;
case 3:
iCell.SetCellValue(dt.Rows[i]["CONTENT"].ToString());//项目内容
break;
case 4:
iCell.SetCellValue(GetListName(GFun.SafeToInt32(dt.Rows[i]["DISTRICT"])));//行政区
break;
case 5:
iCell.SetCellValue(GetListName(GFun.SafeToInt32(dt.Rows[i]["BRANCH"])));//所属分公司
break;
case 6:
iCell.SetCellValue(dt.Rows[i]["CONTACTS"].ToString());//联系人
break;
case 7:
iCell.SetCellValue(dt.Rows[i]["PHONENUM"].ToString());//联系人电话
break;
}
}
}
}
string fileName = string.Empty;
//sheet.GetRow(0).GetCell(0).SetCellValue("项目信息");//标题
SetExportFileName(fileName + "查询结果导出.xlsx", workbook);
}
public static void SetExportFileName(string sFileName, XSSFWorkbook workbook)
{
System.Web.HttpContext.Current.Response.Charset = "GB2312";
System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
sFileName = System.Web.HttpUtility.UrlEncode(sFileName, System.Text.Encoding.UTF8);
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + sFileName);
// 指定返回的是一个不能被客户端读取的流,必须被下载
System.Web.HttpContext.Current.Response.ContentType = "application/ms-Excel";
// 把文件流发送到客户端
workbook.Write(System.Web.HttpContext.Current.Response.OutputStream);
// 停止页面的执行
System.Web.HttpContext.Current.Response.End();
}
NPOI导出Excel2007相关推荐
- NPOI导出Excel2007-xlsx
今天在用npoi导出xls时会报错,经过在网上查找资料,找到一篇博客文章介绍的,原文地址 https://www.cnblogs.com/spring_wang/p/3160020.html 1.今天 ...
- npoi html富文本,c#NPOI导出
按行列导出数据: HSSFWorkbook hssfworkbook = new HSSFWorkbook(); //命名空间:using NPOI.HSSF.UserModel; Sheet she ...
- Winform中通过NPOI导出Excel时通过ICellStyle和IDataFormat格式化日期显示格式
场景 Winform中通过NPOI导出Excel的三种方式(HSSFWorkbook,XSSFWorkbook,SXSSFWorkbook)附代码下载: https://blog.csdn.net/B ...
- Winforn中通过NPOI导出Excel时通过XSSFClientAnchor和XSSFPicture添加图片
场景 Winform中通过NPOI导出Excel的三种方式(HSSFWorkbook,XSSFWorkbook,SXSSFWorkbook)附代码下载: https://blog.csdn.net/B ...
- Winform中使用NPOI导出Excel时XSSFWorkbook wb = new XSSFWorkbook()报错
场景 在使用NPOI导出xlsx格式的Excel时提示: NPOI.POIXMLException类型的未经处理的异常在NPOI.OOXML.dll中发生. 注: 博客主页: https://blog ...
- NPOI 导出 excel 性能测试
NPOI 导出 excel 性能测试 Intro 网上看到很多人说 NPOI 的性能不行,自己写了一个 NPOI 的扩展库,于是想尝试看看 NPOI 的性能究竟怎么样,道听途说始终不如自己动手一试. ...
- .NET Core使用NPOI导出复杂Word详解
最近使用NPOI做了个导出Word文档的功能,关于使用.NET Core 导出Word文档的方式有很多.最终我为什么选择了NPOI来实现了这个功能,首先是NPOI是一个开源,免费且容易上手的第三方框架 ...
- WeihanLi.Npoi 导出支持自定义列内容啦
WeihanLi.Npoi 导出支持自定义列内容啦 Intro 之前也有网友给提出过希望列合并或者自定义列内容的 issue 或请求,起初因为自己做 WeihanLi.Npoi 这个扩展的最初目的是导 ...
- Npoi导出excel整理(附源码)
前些日子做了一个简单的winform程序,需要导出的功能,刚开始省事直接使用微软的组件,但是导出之后发现效率极其低下,绝对像web那样使用npoi组件,因此简单的进行了整理,包括直接根据DataTab ...
最新文章
- 创建一个栈存储结构,并且写入一些对栈的基本的操作
- C++和Rust_C 还是 Rust:选择哪个用于硬件抽象编程 | Linux 中国
- SpringBoot启动banner更改
- React + TypeScript 实现泛型组件
- 三大纪律七项注意(Access数据库)
- Python 卸载python
- OpenCV3与深度学习实例-使用OpenPose进行人体姿态估算
- 重操JS旧业第五弹:函数
- c语言中post协议,c/c++的http协议的get和post方法
- [笔记].关于使用JLINK的三线SWD模式调试NUC1xx的一点粗浅认识
- 网络层QoS分类和标记字段详解
- POJ 2406 Power Strings
- 【安全狐】robots协议详解(robots.txt)
- OpenSesame免费提供新冠病毒防疫准备和远程工作培训
- 《深入浅出WPF》学习笔记
- java-assured,如何使用Rest-Assured java中的证书进行HTTPS GET调用
- 让window10停止更新的办法
- 积目服务器维护,搭建经济高效的制作网络服务器群试验平台
- 模型高性能优化 | 两步数据预处理让Alphafold 提速一倍
- 如何让电脑在指定时间内自动播放和关闭音乐