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 打包下载相关推荐

  1. POI批量导出Excel ZIP打包下载

    POI批量导出Excel ZIP打包下载 1.公共抽象导出Excel类 需要自己实现两个抽象方法: getColumValueForColunmName : 扩展方法:根据名称判断来做值得转换 比如: ...

  2. c#使用NPOI批量导出数据到excel表格里

    背景 我之前是做的Java开发的相关工作,c#开发还是第一次. 公司有这个需求,只好研究一下了. 我接手的是别人开发过两个报表的小玩意,万事开头难,刚开始为了搞清楚这些代码的意思走了不少弯路,下面说说 ...

  3. C# 使用NPOI批量导出

    第一次用C#,用C#写一个批量导出Excel功能 1.引用NPOI资源包,有两种方法,可以在VS中直接安装,也可以下载NPOI.DLL文件添加引用 我用的第一种方法,相对来说比较方便 (1).右击解决 ...

  4. mvc npoi导出excel ajax,ASP.Net MVC利用NPOI导入导出Excel

    因近期项目遇到所以记录一下: 首先导出Excel: 首先引用NPOI包 http://pan.baidu.com/s/1i3Fosux (Action一定要用FileResult) /// /// 批 ...

  5. 使用POI批量导出Excel文件(SSM)

    文章目录 前言 如何使用POI批量导出Excel文件(SSM) 一.什么是POI? 模块 二.使用步骤 1.引入依赖 2.mapper层代码 包括Mapper接口.Mapper SQL代码 Mappe ...

  6. npoi的mvc怎么ajax导出,asp.net mvc利用NPOI导入导出Excel解决方法

    asp.net mvc利用NPOI导入导出Excel 导出Excel 2003没有问题,导出Excel2007老是出现无法访问已关闭的流,请帮忙解决,或是哪位有mvc导入导出excel的工具类能提供, ...

  7. VBA应用笔记 -- 批量导出excel工作表中的图片

    业务场景: 日常工作中,我们可能会遇到需要批量导出excel表中的图片的情况,按照网友的做法,批量导出excel中的图片主要有几种方法: 解压缩方法:可以通过将excel文件转成rar压缩文件,解压后 ...

  8. java实现excel打包下载

    最近公司让我做一个报表的打包下载功能,以前从来没有接触过,从问了下度娘,实现其功能的方式很多,其中我找到一篇博文就写得非常好,本人也是根据博文所讲做的,但是现在找不到他的链接地址了,,在这里就本人所做 ...

  9. NPOI导出Excel并下载到客户端

    报表数据导出Excel,很常见的需求,然而每次都能忘了,今天再次遇到了,总结一下. 一般来说都需要有个标题 //需要输出的字段 string[] fieldArr = { "Title&qu ...

最新文章

  1. 笑岔气!一个程序员的水平能差到什么程度?
  2. MySQL中MyISAM引擎与InnoDB引擎性能简单测试
  3. 尚学堂requireJs课程---2、模块
  4. python37降到36原来的包还可以用吗_【lc刷题】36/37 有效的数独/解数独(143-144/300)...
  5. POJ - 3177 Redundant Paths(边双缩点)
  6. 剑指offer:12-17记录
  7. html内容超出不自动滚动,16.css: overflow使用 例: 固定div大小,不让内容超出div
  8. WIN10配置JAVA环境变量
  9. 分享一款TF/SD卡手机存储卡格式化修复工具
  10. 【学习笔记】简单的连通性状压DP——插头DP(不学以为是天书)
  11. 离散数学 之 命题公式的主析取合取范式(java实现)
  12. Linux:面试常被问到的命令(持续更新)
  13. 一道简单的百度笔试题
  14. 一个人的精神结构和他的精神资源
  15. HTTP头部解释,HTTP头部详细分析,最全HTTP头部信息
  16. c++ 高效位运算函数之 __builtin_
  17. jquery下载所有版本(实时更新)
  18. English--元音
  19. 强化学习 11 —— REINFORCE 算法推导与 tensorflow2.0 代码实现
  20. java annotation class,Java Class类 isAnnotation()方法及示例

热门文章

  1. 几种常见的线程池及使用场景
  2. Oracle计算偏差率的方法
  3. CSS 仿 iOS 系统通知数字样式
  4. 第8天-信息收集——站点搭建,WAF等
  5. SCX-4521F一体机MAC驱动
  6. PCL——超体素(SuperVoxel)、超体聚类分割
  7. php极简wiki,Wiki.js初体验
  8. 速卖通关键词挖掘工具_利用SEO工具挖掘同行竞争对手关键词数据快速布局网站词库...
  9. 数据库多表联查的方式
  10. 基于JSP的物流信息管理系统(MySQL版)