public ReturnNode exportReviewResult(){List<ReplaceExcelData> repData = new List<ReplaceExcelData>();repData.Add(new ReplaceExcelData(3, 2, "名称1"));repData.Add(new ReplaceExcelData(3, 7, "单位1"));repData.Add(new ReplaceExcelData(3, 14, "单位1"));string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx";string tempFileName = localPath + "exporttemp.xlsx";string newFile = localPath + fileName;using (ExcelHelper excelHelper = new ExcelHelper(newFile)){excelHelper.ReplaceDataToExcel(tempFileName,0, repData);return ReturnNode.ReturnSuccess(fileName);}}
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace YFAPICommon.Libs
{public class ReplaceExcelData{public int rowIndex { set; get; }public int cellIndex { set; get; }public object value { set; get; }public ReplaceExcelData(int _row,int _cell,object _value){this.rowIndex = _row;this.cellIndex = _cell;this.value = _value;}}class ExcelHelper : IDisposable{private string fileName = null; //文件名private NPOI.SS.UserModel.IWorkbook workbook = null;private FileStream fs = null;private bool disposed;public ExcelHelper(string fileName){this.fileName = fileName;disposed = false;}public int ReplaceDataToExcel(string tempFilePath,int sheetIndex,List<ReplaceExcelData> replaceData){int count = 0;ISheet sheet = null;fs = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);using (FileStream tempfs = new FileStream(tempFilePath, FileMode.Open, FileAccess.Read)){if (fileName.IndexOf(".xlsx") > 0) // 2007版本workbook = new XSSFWorkbook(tempfs);else if (fileName.IndexOf(".xls") > 0) // 2003版本workbook = new HSSFWorkbook(tempfs);}try{if (workbook != null){sheet = workbook.GetSheetAt(sheetIndex);}else{return -1;}foreach(var node in replaceData){var row = sheet.GetRow(node.rowIndex);var valuestr = node.value.ToString();double valDouble = 0;if(double.TryParse(valuestr,out valDouble)){row.GetCell(node.cellIndex).SetCellValue(valDouble);}else{row.GetCell(node.cellIndex).SetCellValue(valuestr);}count++;}workbook.Write(fs); //写入到excelreturn count;}catch (Exception ex){Console.WriteLine("Exception: " + ex.Message);return -1;}}}
}

C#写入模板excel数据相关推荐

  1. springboot整合jett实现模板excel数据导出

    一 jett的介绍 1.1 介绍 jett是使用Excel电子表格模板快速创建Excel电子表格报告的工具. 1.2 使用方式 1.使用${}来标识我们需要填充的数据 2.使用<jt>&l ...

  2. FME写入Excel数据时写到模板文件指定位置

    在写入Excel数据时写到模板文件指定位置 介绍 本示例对 Excel 写模块参数概述一文进行了扩展.在该示例中,您学习了如何更新模板文件指定的单元格. 使用 FME,您可以重写 RawData 工作 ...

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

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

  4. Python 读取excel数据并填入excel,批量生成模板

    文章目录 一.问题-来源 二.问题-困难 三.问题-解决 总结 一.问题-来源 前几天,我姐遇见了一个难题:需要从excel表格中不断读取数据并生成个人信息模板 二.问题-困难 1.首先我想到了在wo ...

  5. easyexcel-1.1.2-beta5.jar实现Excel数据导入及根据模板Excel导出数据(Jfinal框架)

    1.接到了一个老项目的项目改造,增加房屋普查信息的功能,主要是下载Excel模板,然后在模板填写数据,在导入.还一个是根据模板写入数据下载到本地. 2.老版本的玩意网上都不好找咋玩. 1.标题第一步看 ...

  6. Java使用自定义Excel模板填充数据

    Java使用自定义Excel模板填充数据 上期我们说到使用POI简单的制作一个Excel,这里我们教林外一种方法,就是把Excel写好定为模板,直接填充数据. 老样子还是要添加POM依赖 <de ...

  7. python实现从word固定表格读取数据写入到excel固定位置

    #前提:同事的工作是每天做合同下单,每天要从好多个word中粘贴数据到excel太麻烦了,然后让帮忙看看能不能做一个.exe的程序,每次自动填写,需要手敲的地方在自行填写,也会方便很多,于是有了这篇~ ...

  8. node实现接口资源批量管理(含excel数据导入及模板下载)

    概述 该功能是基于BSPV1.0版本中资源管理的扩展,在资源管理中添加接口资源,方便在对角色授权时做到更加精确的控制.第一层级为系统,第二层级为系统模块,第三层级为接口 UI图 [外链图片转存失败,源 ...

  9. vb 变量赋值为当前选定单元格_第7篇:根据Excel选定行对Word模板填充数据(补充修改)...

    题外:由于漏掉了勾选Microsoft Word 16.0 Object Library这个关键步骤(不勾选是无法导出的),故修改后再次发出.本期我是从知乎上的郭大牛老师那里学的,非常建议大家去阅读, ...

最新文章

  1. 运行第一个 Service - 每天5分钟玩转 Docker 容器技术(96)
  2. java把控制台的结果输出为本地文件作为日志
  3. linux命令:fsck
  4. OpenCV Mat数据类型像素操作
  5. [JS] IE下ajax请求不生效或者请求结果不更新
  6. [COURSE_PTHE] 12. 黑盒网络服务器
  7. Sqlserver-循环执行sql语句
  8. 远区场matlab仿真,matlab结题报告(电偶极子的辐射场)博客_0.doc
  9. Gmail企业邮箱让中小企业免费拥有企业邮箱
  10. 爬取淘宝历史价格,通过请求接口,获取到数据
  11. Eclipse中没有Servers或Dynamic Web Project的解决方案
  12. 11届蓝桥杯单片机设计与开发决赛
  13. Cocos2dx游戏教程(十五):“见缝插针”,愿你走出半生,归来仍是少年
  14. 苹果和小虫编程c语言,【OJ题库C/C++】Day12-苹果和虫子2
  15. 了解Java线程优先级,更要知道对应操作系统的优先级,不然会踩坑
  16. 学校校园学生信息管理系统 毕业设计毕业源码毕业论文开题报告参考(1)功能概要
  17. angular学习总结-路由和路由守卫
  18. 条码打印软件如何做到流水号防重复打印?
  19. Mac 10.15之后版本系统Gomonkey错误解决
  20. C++课程设计——背单词程序

热门文章

  1. FIR数字信号滤波器
  2. 画好爆炸效果有哪些技巧?
  3. 供应思科无线AP 华为无线AP 华三无线AP aruba无线AP ruckus无线AP
  4. HTML_圣斗士星矢界面
  5. [数据与处理]归一化(连续值和离散值)
  6. 教会徒弟,就会饿死师傅?
  7. 张宇1000题高等数学 第一章 函数极限与连续
  8. 宽带自动拨号(无路由器)
  9. Echarts实战案例代码(10):echarts结合世界所有国家地图数据集geojson的(英文翻译映射)解决方案
  10. 公司股权质押办理哪些手续