C# NPOI 批量导出Excel 打包下载
public void NopiPack()
{
//下载
int colCount = 43;//列数
Response.ContentType = "application/zip";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode("压缩包名称", Encoding.UTF8) + ".zip");
MemoryStream st = new MemoryStream();
using (ZipFile zip = ZipFile.Create(st))
{
zip.BeginUpdate();
//list 需要循环的集合
for (int i = 0; i < list.Count; i++)
{
if (ProducedPointList != null && ProducedPointList.Count > 0)
{
HSSFWorkbook[] workbook = new HSSFWorkbook[list.Count]; //创建多个 workbook
workbook[i] = new HSSFWorkbook();
//单元格样式
ICellStyle style = new NPOIHelper().Getcellstyle(workbook[i], NPOIHelper.stylexls.默认);
style.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
style.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
style.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
style.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
style.BottomBorderColor = HSSFColor.Black.Index;
style.LeftBorderColor = HSSFColor.Black.Index;
style.RightBorderColor = HSSFColor.Black.Index;
style.TopBorderColor = HSSFColor.Black.Index;
style.Alignment = HorizontalAlignment.Center;
style.VerticalAlignment = VerticalAlignment.Justify;
ISheet sheet = workbook[i].CreateSheet("xx日报"); //创建一个Sheet页
IRow row = sheet.CreateRow(rowID); //行
row.HeightInPoints = 25; //行高
sheet.AddMergedRegion(new CellRangeAddress(rowID, rowID, 0, colCount - 1)); //横向合并单元格
ICell cell = row.CreateCell(0); //列位置
cell.SetCellValue("xxx报表"); //表头内容
//单独设定表头样式
ICellStyle styleTop = new NPOIHelper().Getcellstyle(workbook[i], NPOIHelper.stylexls.默认);
styleTop.Alignment = HorizontalAlignment.Center;
styleTop.VerticalAlignment = VerticalAlignment.Center;
HSSFFont fontsss = (HSSFFont)workbook[i].CreateFont();
fontsss.FontHeightInPoints = 18;//字体大小
fontsss.Boldweight = (short)FontBoldWeight.Bold;//粗体显示
fontsss.FontName = "宋体";//设置字体
styleTop.SetFont(fontsss);
cell.CellStyle = styleTop;
//构建二级表头
row = sheet.CreateRow(++rowID);
sheet.AddMergedRegion(new CellRangeAddress(rowID, rowID, 0, colCount - 1));
cell = row.CreateCell(0);
cell.SetCellValue(Convert.ToDateTime(itme).ToString("yyyy年MM月dd日"));
cell.CellStyle = new NPOIHelper().GetcellDDstyle(workbook[i], NPOIHelper.stylexls.默认);
cell.CellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.None;
cell.CellStyle.Alignment = HorizontalAlignment.Right;
cell.CellStyle.VerticalAlignment = VerticalAlignment.Center;
#region ///这里构建Excel其它内容
//构建剩下内容
#endregion
//控制列宽
for (int cellcount = 0; cellcount < colCount; cellcount++)
{
if (cellcount == 1)
{
sheet.SetColumnWidth(cellcount, 11 * 256);
}
else
{
sheet.SetColumnWidth(cellcount, 9 * 256);
}
}
//写入zip
MemoryStream ms = WriteToStream(workbook[i]);
StreamDataSource sds = new StreamDataSource(ms);
zip.Add(sds, "XX日报".xls");
}
zip.CommitUpdate();
}
Response.BinaryWrite(st.GetBuffer());
Response.End();
}
C# NPOI 批量导出Excel 打包下载相关推荐
- POI批量导出Excel ZIP打包下载
POI批量导出Excel ZIP打包下载 1.公共抽象导出Excel类 需要自己实现两个抽象方法: getColumValueForColunmName : 扩展方法:根据名称判断来做值得转换 比如: ...
- c#使用NPOI批量导出数据到excel表格里
背景 我之前是做的Java开发的相关工作,c#开发还是第一次. 公司有这个需求,只好研究一下了. 我接手的是别人开发过两个报表的小玩意,万事开头难,刚开始为了搞清楚这些代码的意思走了不少弯路,下面说说 ...
- C# 使用NPOI批量导出
第一次用C#,用C#写一个批量导出Excel功能 1.引用NPOI资源包,有两种方法,可以在VS中直接安装,也可以下载NPOI.DLL文件添加引用 我用的第一种方法,相对来说比较方便 (1).右击解决 ...
- mvc npoi导出excel ajax,ASP.Net MVC利用NPOI导入导出Excel
因近期项目遇到所以记录一下: 首先导出Excel: 首先引用NPOI包 http://pan.baidu.com/s/1i3Fosux (Action一定要用FileResult) /// /// 批 ...
- 使用POI批量导出Excel文件(SSM)
文章目录 前言 如何使用POI批量导出Excel文件(SSM) 一.什么是POI? 模块 二.使用步骤 1.引入依赖 2.mapper层代码 包括Mapper接口.Mapper SQL代码 Mappe ...
- npoi的mvc怎么ajax导出,asp.net mvc利用NPOI导入导出Excel解决方法
asp.net mvc利用NPOI导入导出Excel 导出Excel 2003没有问题,导出Excel2007老是出现无法访问已关闭的流,请帮忙解决,或是哪位有mvc导入导出excel的工具类能提供, ...
- VBA应用笔记 -- 批量导出excel工作表中的图片
业务场景: 日常工作中,我们可能会遇到需要批量导出excel表中的图片的情况,按照网友的做法,批量导出excel中的图片主要有几种方法: 解压缩方法:可以通过将excel文件转成rar压缩文件,解压后 ...
- java实现excel打包下载
最近公司让我做一个报表的打包下载功能,以前从来没有接触过,从问了下度娘,实现其功能的方式很多,其中我找到一篇博文就写得非常好,本人也是根据博文所讲做的,但是现在找不到他的链接地址了,,在这里就本人所做 ...
- NPOI导出Excel并下载到客户端
报表数据导出Excel,很常见的需求,然而每次都能忘了,今天再次遇到了,总结一下. 一般来说都需要有个标题 //需要输出的字段 string[] fieldArr = { "Title&qu ...
最新文章
- 笑岔气!一个程序员的水平能差到什么程度?
- MySQL中MyISAM引擎与InnoDB引擎性能简单测试
- 尚学堂requireJs课程---2、模块
- python37降到36原来的包还可以用吗_【lc刷题】36/37 有效的数独/解数独(143-144/300)...
- POJ - 3177 Redundant Paths(边双缩点)
- 剑指offer:12-17记录
- html内容超出不自动滚动,16.css: overflow使用 例: 固定div大小,不让内容超出div
- WIN10配置JAVA环境变量
- 分享一款TF/SD卡手机存储卡格式化修复工具
- 【学习笔记】简单的连通性状压DP——插头DP(不学以为是天书)
- 离散数学 之 命题公式的主析取合取范式(java实现)
- Linux:面试常被问到的命令(持续更新)
- 一道简单的百度笔试题
- 一个人的精神结构和他的精神资源
- HTTP头部解释,HTTP头部详细分析,最全HTTP头部信息
- c++ 高效位运算函数之 __builtin_
- jquery下载所有版本(实时更新)
- English--元音
- 强化学习 11 —— REINFORCE 算法推导与 tensorflow2.0 代码实现
- java annotation class,Java Class类 isAnnotation()方法及示例