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的更多相关文章

  1. asp.net NPOI导出xlsx格式文件,打开文件报“Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃”

    NPOI导出xlsx格式文件,会出现如下情况: 点击“是”: 导出代码如下: /// <summary> /// 将datatable数据写入excel并下载 /// </summa ...

  2. NPOI 2.1.1 系列(1) 使用NPOI读取 Excel文档 ;NpoiExcelHelper 导入导出 2003格式 2007格式的 Excel; Npoi 导出 xlsx 格式

    下载地址 http://npoi.codeplex.com/releases 下面放一个 NPOIHelper 助手类吧,也不是我写的- NpoiExcelHelper 可以生成xlsx格式publi ...

  3. C# Aspose.Cells导出xlsx格式Excel,打开文件报“Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃”

    报错信息: 最近打开下载的 Excel,会报如下错误.(xls 格式不受影响) 解决方案: 下载代码(红色为新添代码) public void download() { string fileName ...

  4. 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 ...

  5. NPOI 导出 excel 性能测试

    NPOI 导出 excel 性能测试 Intro 网上看到很多人说 NPOI 的性能不行,自己写了一个 NPOI 的扩展库,于是想尝试看看 NPOI 的性能究竟怎么样,道听途说始终不如自己动手一试. ...

  6. 基于NPOI导出和导入Excel

    概述 NPOI,顾名思义,就是POI的.NET版本.NPOI就是用.NET语言编写的一套数据导出Excel的开源项目,支持XML.xls.xlsx.ppt等格式..NET不仅实现Excel导出还可以实 ...

  7. C# NPOI导出Excel和EPPlus导出Excel比较

    系统中经常会使用导出Excel的功能. 之前使用的是NPOI,但是导出数据行数多就报内存溢出. 最近看到EPPlus可以用来导出Excel,就自己测了下两者导出上的差异. NPIO官网地址:http: ...

  8. .NET NPOI导出Excel详解

    NPOI,顾名思义,就是POI的.NET版本.那POI又是什么呢?POI是一套用Java写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office的文件. 支持的文件格式包括xls, ...

  9. NPOI导出Excel(含有超过65335的处理情况)

    NPOI导出Excel的网上有很多,正好自己遇到就学习并总结了一下: 首先说明几点: 1.Excel2003及一下:后缀xls,单个sheet最大行数为65335 Excel2007 单个sheet ...

随机推荐

  1. [AMPPZ 2013]Bytehattan

    先把题目链接贴在这里喵~ http://main.edu.pl/en/archive/amppz/2013/baj 话说真是一道让我严重怀疑我的智商的好题目, 话说此题第一感觉.嗯?似乎离线做做就可以 ...

  2. UBUNTU下SUBLIME TEXT3的安装+破解+汉化+中文输入

    一.Sublime Text3的下载安装 建议直接去官网下载最新版deb安装包:http://www.sublimetext.com/3 二.Sublime Text3的破解 3114版 -– BEG ...

  3. 套接字I/O模型-select

    共有6种类型套接字I/O模型.blocking(阻塞),select(选择),WSAAsyncSelect(异步选择),WSAEventSelect(事件选择),overlapped(重叠),comp ...

  4. APACHE 多站点配置方法

    例如你的主机IP:192.168.1.8 而你有三个站点,域名为:www.111.com,www.222.com,www.333.com 相应的网站文件放在主机的:\website\111;D:\we ...

  5. CentOS 6.4下PXE+Kickstart无人值守安装操作系统 转

    一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...

  6. 【转】第7篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:全自动注册与反射方法分析

    作者: 牛A与牛C之间 时间: 2013-12-12 分类: 技术文章 | 2条评论 | 编辑文章 主页 » 技术文章 » 第7篇:Xilium CefGlue 关于 CLR Object 与 JS ...

  7. SQLSERVER 脚本转MYSQL 脚本的方法总结

    1.MYSQL(版本为5.6)中SQL脚本必须以分号(;)结尾,这点比SQLSERVER要严谨:关键字与函数名称全部大写:数据库名称.表名称.字段名称全部小写. 2.所有关键字都要加上``,比如 St ...

  8. WAS8.5安装

    由于公司网络禁止上传图片,在网上找到相近的,安装过程图,可参照:http://www.open-open.com/doc/view/488fe6eaa2084da6b87cc18f1c00d2a8 1 ...

  9. FAQ unzip无法解压文件

    [root@TEST144239 tmp]# unzip linx64_11gR2_database_1of2.zipArchive:  linx64_11gR2_database_1of2.zipw ...

  10. smarty缓存技术

    后台: <?php //要求:当存在缓存文件,直接输出,不存在缓存文件,自己创建缓存,输出 //步骤: //定义该页面存放缓存文件的路径 $filename="../../cache/ ...