C# 使用npoi下载Excel文件时,在有些复杂场景下需要对Excel数据及表头进行特殊处理。如合并表头,对某些列设置特殊数值格式。 这就需要提前定制Excel模板,做好特殊处理,程序只需要填入数据即可达到想要的效果。

效果如下:

Excel模板:

Excel下载:

代码如下:

//打开Excel模板

HSSFWorkbook work = customSheet.OpenSheet(Server.MapPath("Files/Template.xls"));

ISheet sheet = work.GetSheetAt(0);
            ICellStyle cellstyle;
            IRow row;
            ICell cell;
            Random random = new Random();
            for (int i = 2; i <= 4; i++)
            {
                row = sheet.GetRow(i);
                for (int k = 1; k <= 10; k++)
                {
                    Double RandomNum = random.Next(100, 900) / 130.0000;
                    cell = row.GetCell(k);

cell.SetCellValue(RandomNum);

cellstyle = work.CreateCellStyle();  //初始化单元格样式

//获取模板单元格样式(不使用Excel模板,不需要使用该行代码)

cellstyle.CloneStyleFrom(cell.CellStyle); 
                    
                    if (k % 5 == 0)
                    {
                        HSSFFont ffont = (HSSFFont)work.CreateFont();
                        ffont.FontHeight = 14 * 14;
                        ffont.FontName = "宋体";
                        ffont.Color = HSSFColor.Red.Index;
                        cellstyle.SetFont(ffont);
                        cellstyle.DataFormat = HSSFDataFormat.GetBuiltinFormat("0.00%");
                    }
                    cell.CellStyle = cellstyle;  //给单元格追加格式
                }
            }

customSheet.SaveSheet(work, Server.MapPath("Files/demo2.xls"));

/// <summary>
        /// 保存excel文件到指定位置
        /// </summary>
        /// <param name="book"></param>
        /// <param name="FilePath"></param>
        public void SaveSheet(HSSFWorkbook book, string FilePath)
        {
            FileStream file = new FileStream(FilePath, FileMode.Create);
            book.Write(file);
            file.Close();
        }
        /// <summary>
        /// 打开Excel读取到sheet中(可将Excel格式、样式及数据读取到sheet中,减少通程序属性添加样式)
        /// </summary>
        /// <param name="FilePath"></param>
        /// <returns></returns>
        public HSSFWorkbook OpenSheet(string FilePath)
        {
            HSSFWorkbook workbook;
            FileInfo File = new FileInfo(FilePath);
            FileStream fs;
            using (fs = File.OpenRead())
            {
                workbook = new HSSFWorkbook(fs);
                fs.Close();
            }
            return workbook;
        }

npoi使用Excel模板下载数据相关推荐

  1. SAP ABAP(一个简单的excel模板下载与数据导入demo)

    文章目录 备忘 一.excel模板 二.代码 如下: 总结 备忘 excel模板下载与数据上传处理demo (选择屏幕添加按钮,F4选择文件,模板下载,读取excel数据) 一.excel模板 共两个 ...

  2. nginx,excel模板下载

    nginx,excel模板下载 weixin_30814223 2018-08-27 10:26:00  245  收藏 版权 spring boot项目,使用nginx服务器 最近在做一个功能是ex ...

  3. 【vue+springboot】excel模板下载、导入功能实现

    基于VUE+SpringBoot实现excel模板下载.导入功能 背景 最近在工作中经常遇到批量导入的功能,而且前端还要提示导入成功几条.失败几条.哪一条数据重复.是哪一条导入的数据出现问题等,抽空写 ...

  4. VUE+JAVA实现EXCEL模板下载

    一.项目场景: VUE+JAVA实现EXCEL模板下载 二.功能背景 本人作为一个开发小白,今天接到一个小需求系统需要导入数据,也就十几个字段,我和老板说了,让客户一个一个去输入吧!然后我就被经理叫去 ...

  5. C#中通过Excel模板导出数据

    一.实现效果 1.1.编写特定格式的Excel模板 1.2.调用Excel模板导出数据 二.实现核心 #region 通过模板导出Excel文件/// <summary>/// 通过模板导 ...

  6. .net excel导入mysql_.NET Core使用NPOI将Excel中的数据批量导入到MySQL - 追逐时光者 - 博客园...

    前言: 在之前的几篇博客中写过.NET Core使用NPOI导出Word和Excel的文章,今天把同样我们日常开发中比较常用的使用Excel导入数据到MySQL数据库中的文章给安排上.与此同时还把NP ...

  7. 博图WINCC报表(SQL数据库的建立,TIA_wincc在数据库中保存和查询数据,调用Excel模板把数据保存到指定的位置)

    这里写目录标题 目录 一.概述 1.1 前言 1.2 主要功能 1.3 使用的软件 二. SQL server建库和建表 2.1.SQL server建库 2.2SQL server建表 三.建立wi ...

  8. VUE+ElementUI生成Excel模板 导入数据生成表格(自适应)

    VUE+ElementUI生成Excel模板 导入数据生成表格(自适应) 最近项目需求,需要根据条件查询对应数据的参数(每条数据的参数名称和个数都不一样) ,生成Excel表格模板,再通过Excel模 ...

  9. SpringBoot打成jar包部署,Excel模板下载文件遇到的问题

    问题一. 读取resource 目录下文件时出现路径找不到 在本机测试都很顺利,当打包jar文件放到服务器上测试的时候发现了类似下面的异常信息: java.nio.file.NoSuchFileExc ...

最新文章

  1. 解析#pragma指令
  2. 哪吒之魔童降世 - 逆天改命,若命运不公,就和它斗到底!
  3. mysql count 排序_SQL进阶排序和窗口函数
  4. java 命名内部类_如何把java SWT程序中的匿名内部类改写成命名内部类?
  5. Leetcode--5. 最长回文子串(java)
  6. 文本挖掘预处理之TF-IDF
  7. 递归获取字符串内的所有图片src地址
  8. C# 学生简单管理系统 数据库 1.0版本
  9. [转]jQuery为控件添加水印文字
  10. QT添加资源和样式表(设计窗口背景图)
  11. Mybatis-01-简介及入门
  12. android彻底退出应用_Android完全退出应用程序的方法
  13. 吴恩达机器学习课后作业
  14. 【技术认证题库】SCCA理论aDesk-2考试【初级】
  15. mysql数据库表中重命名语句_mysql数据库重命名sql语句
  16. 【记录】读《你在天堂里遇见的五个人》有感
  17. 数值分析|二阶三点式Python编程
  18. 062:vue+openlayers绘制正方形、矩形、六芒星( 代码示例 )
  19. matlab画六面体,MATLAB绘制平行六面体
  20. 电 流 源和 电 压 源

热门文章

  1. 片上总线Wishbone 学习(十)总线周期之单写读操作
  2. C语言--小学生计算机辅助教学系统
  3. 股债收益模型 量化实战篇(一)
  4. MyCat 学习笔记 第十五篇 . 数据分片后的迁移验证
  5. 设备巡检维修报备小程序开发制作功能介绍
  6. underscoreJs中pluck函数的源码解析
  7. amd显卡驱动linux 卸载,怎么彻底卸载AMD显卡驱动|完全卸载AMD显卡驱动步骤
  8. c#堆栈跟踪;c#异常原因查找打印;c#打印错误日志
  9. android其实很简单 -- roaster 以代码构建代码
  10. 国家允许的二级分销怎么做?有哪些优势