Npoi导出xlsx
xlsx文件可以超出,excel2003行数限制。必要的dll文件。

public void Export()
{
string filename = Request["searchString"]; Response.Clear();
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", filename+ ".xlsx")); NPOI.XSSF.UserModel.XSSFWorkbook workbook = new NPOI.XSSF.UserModel.XSSFWorkbook();
NPOI.SS.UserModel.ISheet sheet1 = workbook.CreateSheet("BOM详情"); //给sheet1添加第一行的头部标题
NPOI.SS.UserModel.IRow row1 = sheet1.CreateRow();
row1.CreateCell().SetCellValue("物料编码");
row1.CreateCell().SetCellValue("物料名称");
row1.CreateCell().SetCellValue("规格型号");
row1.CreateCell().SetCellValue("物料用量");
row1.CreateCell().SetCellValue("用量单位");
row1.CreateCell().SetCellValue("备注");
//将数据逐步写入sheet1各个行
List<AkBom> pageResult = _akBomRepository.GetPageList(, , Request["searchString"], "");
for (int i = ; i < pageResult.Count; i++)
{
NPOI.SS.UserModel.IRow rowtemp = sheet1.CreateRow(i + );
rowtemp.CreateCell().SetCellValue(pageResult[i].ChildNumber);
rowtemp.CreateCell().SetCellValue(pageResult[i].ChildName);
rowtemp.CreateCell().SetCellValue(pageResult[i].Spec);
rowtemp.CreateCell().SetCellValue(double.Parse(pageResult[i].MaterialSum.ToString()));
rowtemp.CreateCell().SetCellValue(pageResult[i].Unit);
rowtemp.CreateCell().SetCellValue(pageResult[i].Remark);
}
//写入到客户端
System.IO.MemoryStream ms = new System.IO.MemoryStream();
workbook.Write(ms);
Response.BinaryWrite(ms.ToArray()); Response.Flush();
Response.End();
}
public void Export()
{
string searchString = Request["searchString"];
string line = Request["line"];
string station = Request["station"];
string begin = Request["begin"];
string end = Request["end"]; Response.Clear();
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", "FQC.xlsx")); NPOI.XSSF.UserModel.XSSFWorkbook workbook = new NPOI.XSSF.UserModel.XSSFWorkbook();
NPOI.SS.UserModel.ISheet sheet1 = workbook.CreateSheet("FQC"); //excel格式化
NPOI.SS.UserModel.ICellStyle dateStyle = workbook.CreateCellStyle();
dateStyle.DataFormat = workbook.CreateDataFormat().GetFormat("yyyy/m/d h:mm:ss"); NPOI.SS.UserModel.ICellStyle numberStyle = workbook.CreateCellStyle();
numberStyle.DataFormat = workbook.CreateDataFormat().GetFormat("0.00000"); NPOI.SS.UserModel.ICellStyle textStyle = workbook.CreateCellStyle();
textStyle.DataFormat = workbook.CreateDataFormat().GetFormat("@"); //给sheet1添加第一行的头部标题
NPOI.SS.UserModel.IRow row1 = sheet1.CreateRow();
row1.CreateCell().SetCellValue("订单号");
row1.CreateCell().SetCellValue("条码");
row1.CreateCell().SetCellValue("档位名称");
row1.CreateCell().SetCellValue("Pmax");
row1.CreateCell().SetCellValue("功率档");
row1.CreateCell().SetCellValue("功率档范围");
row1.CreateCell().SetCellValue("Ipm");
row1.CreateCell().SetCellValue("电流档");
row1.CreateCell().SetCellValue("电流档范围");
row1.CreateCell().SetCellValue("规格");
row1.CreateCell().SetCellValue("产品等级");
row1.CreateCell().SetCellValue("电池片等级");
row1.CreateCell().SetCellValue("FQC不良");
row1.CreateCell().SetCellValue("判定结果");
row1.CreateCell().SetCellValue("人员");
row1.CreateCell().SetCellValue("线别");
row1.CreateCell().SetCellValue("工位");
row1.CreateCell().SetCellValue("备注");
row1.CreateCell().SetCellValue("扫描时间");
row1.CreateCell().SetCellValue("输入时间");
row1.CreateCell().SetCellValue("Eff");
row1.CreateCell().SetCellValue("Isc");
row1.CreateCell().SetCellValue("Voc");
row1.CreateCell().SetCellValue("Rs");
row1.CreateCell().SetCellValue("Rsh");
row1.CreateCell().SetCellValue("Vpm");
row1.CreateCell().SetCellValue("FF");
row1.CreateCell().SetCellValue("Sun");
row1.CreateCell().SetCellValue("Temp");
row1.CreateCell().SetCellValue("Class");
//将数据逐步写入sheet1各个行
string strSql = "where AkFqc.BarCode like '%@param%' and (AkFqc.DateTime between '@begin' and '@end') and AkFqc.LineTitle like '%@line%' and AkFqc.StationTitle like '%@station%'";
strSql = strSql.Replace("@param", searchString);
strSql = strSql.Replace("@begin", begin);
strSql = strSql.Replace("@end", end);
strSql = strSql.Replace("@line", line);
strSql = strSql.Replace("@station", station); List<AkFqc> pageResult = _akFqcRepository.GetPageList(, , strSql, "order by AkFqc.Id desc");
for (int i = ; i < pageResult.Count; i++)
{
NPOI.SS.UserModel.IRow rowtemp = sheet1.CreateRow(i + ); rowtemp.CreateCell().SetCellValue(pageResult[i].OrderNumber);
rowtemp.CreateCell().SetCellValue(pageResult[i].BarCode);
rowtemp.CreateCell().SetCellValue(pageResult[i].Title);
rowtemp.CreateCell().SetCellValue(Convert.ToDouble(string.Format("{0:0.00000}", pageResult[i].Pmax)));
rowtemp.CreateCell().SetCellValue(pageResult[i].PTitle);
rowtemp.CreateCell().SetCellValue(pageResult[i].PScope);
rowtemp.CreateCell().SetCellValue(Convert.ToDouble(string.Format("{0:0.00000}", pageResult[i].Ipm)));
rowtemp.CreateCell().SetCellValue(pageResult[i].ITitle);
rowtemp.CreateCell().SetCellValue(pageResult[i].IScope);
rowtemp.CreateCell().SetCellValue(pageResult[i].Spec);
rowtemp.CreateCell().SetCellValue(pageResult[i].ProductLevel);
rowtemp.CreateCell().SetCellValue(pageResult[i].BatteryLevel);
rowtemp.CreateCell().SetCellValue(pageResult[i].BadReason);
rowtemp.CreateCell().SetCellValue(pageResult[i].JudgeResult);
rowtemp.CreateCell().SetCellValue(pageResult[i].Employee);
rowtemp.CreateCell().SetCellValue(pageResult[i].LineTitle);
rowtemp.CreateCell().SetCellValue(pageResult[i].StationTitle);
rowtemp.CreateCell().SetCellValue(pageResult[i].Remark);
rowtemp.CreateCell().SetCellValue(pageResult[i].DateTime);
rowtemp.CreateCell().SetCellValue(pageResult[i].ScanDate);
rowtemp.CreateCell().SetCellValue(Convert.ToDouble(string.Format("{0:0.00000}", pageResult[i].Eff)));
rowtemp.CreateCell().SetCellValue(Convert.ToDouble(string.Format("{0:0.00000}", pageResult[i].Isc)));
rowtemp.CreateCell().SetCellValue(Convert.ToDouble(string.Format("{0:0.00000}", pageResult[i].Voc)));
rowtemp.CreateCell().SetCellValue(Convert.ToDouble(string.Format("{0:0.00000}", pageResult[i].Rs)));
rowtemp.CreateCell().SetCellValue(Convert.ToDouble(string.Format("{0:0.00000}", pageResult[i].Rsh)));
rowtemp.CreateCell().SetCellValue(Convert.ToDouble(string.Format("{0:0.00000}", pageResult[i].Vpm)));
rowtemp.CreateCell().SetCellValue(Convert.ToDouble(string.Format("{0:0.00000}", pageResult[i].FF)));
rowtemp.CreateCell().SetCellValue(Convert.ToDouble(string.Format("{0:0.00000}", pageResult[i].Sun)));
rowtemp.CreateCell().SetCellValue(Convert.ToDouble(string.Format("{0:0.00000}", pageResult[i].Temp)));
rowtemp.CreateCell().SetCellValue(pageResult[i].Class); rowtemp.GetCell().CellStyle = textStyle;
rowtemp.GetCell().CellStyle = textStyle;
rowtemp.GetCell().CellStyle = textStyle;
rowtemp.GetCell().CellStyle = numberStyle;
rowtemp.GetCell().CellStyle = textStyle;
rowtemp.GetCell().CellStyle = textStyle;
rowtemp.GetCell().CellStyle = numberStyle;
rowtemp.GetCell().CellStyle = textStyle;
rowtemp.GetCell().CellStyle = textStyle;
rowtemp.GetCell().CellStyle = textStyle;
rowtemp.GetCell().CellStyle = textStyle;
rowtemp.GetCell().CellStyle = textStyle;
rowtemp.GetCell().CellStyle = textStyle;
rowtemp.GetCell().CellStyle = textStyle;
rowtemp.GetCell().CellStyle = textStyle;
rowtemp.GetCell().CellStyle = textStyle;
rowtemp.GetCell().CellStyle = textStyle;
rowtemp.GetCell().CellStyle = textStyle;
rowtemp.GetCell().CellStyle = dateStyle;
rowtemp.GetCell().CellStyle = dateStyle;
rowtemp.GetCell().CellStyle = numberStyle;
rowtemp.GetCell().CellStyle = numberStyle;
rowtemp.GetCell().CellStyle = numberStyle;
rowtemp.GetCell().CellStyle = numberStyle;
rowtemp.GetCell().CellStyle = numberStyle;
rowtemp.GetCell().CellStyle = numberStyle;
rowtemp.GetCell().CellStyle = numberStyle;
rowtemp.GetCell().CellStyle = numberStyle;
rowtemp.GetCell().CellStyle = numberStyle;
rowtemp.GetCell().CellStyle = textStyle;
}
//写入到客户端
System.IO.MemoryStream ms = new System.IO.MemoryStream();
workbook.Write(ms);
Response.BinaryWrite(ms.ToArray()); Response.Flush();
Response.End();
}
Npoi导出xlsx的更多相关文章
- asp.net NPOI导出xlsx格式文件,打开文件报“Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃”
NPOI导出xlsx格式文件,会出现如下情况: 点击“是”: 导出代码如下: /// <summary> /// 将datatable数据写入excel并下载 /// </summa ...
- NPOI 2.1.1 系列(1) 使用NPOI读取 Excel文档 ;NpoiExcelHelper 导入导出 2003格式 2007格式的 Excel; Npoi 导出 xlsx 格式
下载地址 http://npoi.codeplex.com/releases 下面放一个 NPOIHelper 助手类吧,也不是我写的- NpoiExcelHelper 可以生成xlsx格式publi ...
- C# Aspose.Cells导出xlsx格式Excel,打开文件报“Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃”
报错信息: 最近打开下载的 Excel,会报如下错误.(xls 格式不受影响) 解决方案: 下载代码(红色为新添代码) public void download() { string fileName ...
- NPOI 2.1.1 系列(2) 使用NPOI读取List或者datatable数据生成 Excel文档 ;Npoi生成 xlsx 2007以上文档
结合上一篇文章 NPOI 2.1.1 系列(1) 使用NPOI读取 Excel文档 ;NpoiExcelHelper 导入导出 2003格式 2007格式的 Excel; Npoi 导出 xlsx ...
- NPOI 导出 excel 性能测试
NPOI 导出 excel 性能测试 Intro 网上看到很多人说 NPOI 的性能不行,自己写了一个 NPOI 的扩展库,于是想尝试看看 NPOI 的性能究竟怎么样,道听途说始终不如自己动手一试. ...
- 基于NPOI导出和导入Excel
概述 NPOI,顾名思义,就是POI的.NET版本.NPOI就是用.NET语言编写的一套数据导出Excel的开源项目,支持XML.xls.xlsx.ppt等格式..NET不仅实现Excel导出还可以实 ...
- C# NPOI导出Excel和EPPlus导出Excel比较
系统中经常会使用导出Excel的功能. 之前使用的是NPOI,但是导出数据行数多就报内存溢出. 最近看到EPPlus可以用来导出Excel,就自己测了下两者导出上的差异. NPIO官网地址:http: ...
- .NET NPOI导出Excel详解
NPOI,顾名思义,就是POI的.NET版本.那POI又是什么呢?POI是一套用Java写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office的文件. 支持的文件格式包括xls, ...
- NPOI导出Excel(含有超过65335的处理情况)
NPOI导出Excel的网上有很多,正好自己遇到就学习并总结了一下: 首先说明几点: 1.Excel2003及一下:后缀xls,单个sheet最大行数为65335 Excel2007 单个sheet ...
随机推荐
- linux下的符号链接和硬链接
一 Linux下链接文件的作用 Linux特别注重用户的权限,而链接文件的作用也正体现了这个方面.对源文件的位置进行了隐藏,用户只对链接文件操作. 二 链接文件的区别 链接文件分为硬链接文件和软 ...
- Android开源框架ImageLoader的完美例子
本文转载于:http://blog.csdn.net/wwj_748/article/details/10079311 2013年8月19日开源框架之Universal_Image_Loader学习 ...
- 论文笔记之:Asynchronous Methods for Deep Reinforcement Learning
Asynchronous Methods for Deep Reinforcement Learning ICML 2016 深度强化学习最近被人发现貌似不太稳定,有人提出很多改善的方法,这些方法有很 ...
- sql commands
1,DBCC SQLPERF(logspace) https://msdn.microsoft.com/en-us/library/ms189768.aspx 2, 1, LOGINFO(''HAHA ...
- OSGi 的核心配置、动态化及问题
一.OSGi的核心组件Bundle,与java中jar包的差别就是元数据配置: 常用的Bundle元数据定义: a) Bundle-Activator:定义Activator的实现全 ...
- python字符串关键点总结
python字符串关键点有下面几点: 1.一些引号分隔的字符 你可以把字符串看出是Python的一种数据类型,在Python单引号或者双引号之间的字符数组或者连续的字符集合.在python中最常用的引 ...
- easyui datagrid使用(好)
加载相关js和css,因为easyui依赖jquery,所有加载easyui前要先加载jquery,否则为提示找不到datagrid <!-- 加载jquery --> <scrip ...
- SQLServer三种自定义函数
自定义函数"是我们平常的说法,而"用户定义的函数"是 SQL Server 中书面的说法. SQL Server 2000 允许用户创建自定义函数,自定义函数可以有返回值 ...
- sql复制表
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句 Insert是T-sql中常用语句,Insert INTO table(field1,field2,... ...
- HTML5之Canvas绘图实例——饼状图
实现饼状分布画图(如下):调试环境:Firefox