POI3.10读取Excel模板填充数据后生成新的Excel文件
private final DecimalFormat df = new DecimalFormat("#0.00");
public void test(){
String filePath = "G:\\tmp\\qhjt_yd.xls";
String destPath = "G:\\tmp\\qhjt_yd2.xls";
List<Map<String,Double>> list = getData();
Map<String,String> nsrxx = getBaseInfo();
try {
//读取excel模板
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(filePath));
//读取第一个工作簿
HSSFSheet sheet = workbook.getSheetAt(0);
//设置保留公式
sheet.setForceFormulaRecalculation(true);
//定义行与列
HSSFRow row;
HSSFCell cell;
//第3行,第2列
row = sheet.getRow(2);
cell = row.getCell(1);
cell.setCellValue(nsrxx.get("nsrmc"));
//第3行,第4列
row = sheet.getRow(2);
cell = row.getCell(3);
cell.setCellValue(nsrxx.get("bsq"));
//第13行,第3列
row = sheet.getRow(12);
cell = row.getCell(2);
cell.setCellValue(nsrxx.get("ycsm"));
//第14行,第2列
row = sheet.getRow(13);
cell = row.getCell(1);
cell.setCellValue(nsrxx.get("tbr"));
//第14行,第5列
row = sheet.getRow(13);
cell = row.getCell(4);
cell.setCellValue(nsrxx.get("lxdh"));
//从第6行开始读取到第12行
for(int i=5;i<12;i++){
Map<String,Double> mm = list.get(i-5);
//获取行
row = sheet.getRow(i);
//依次设置3,4列
cell = row.getCell(2);
cell.setCellValue(df.format(mm.get("bq")));
cell = row.getCell(3);
cell.setCellValue(df.format(mm.get("tq")));
}
FileOutputStream out = new FileOutputStream(destPath);
workbook.write(out);
out.close();
} catch (IOException ex) {
Logger.getLogger(PoiUtil.class.getName()).log(Level.SEVERE, null, ex);
}
}

POI3.10读取Excel模板填充数据后生成新的Excel文件的更多相关文章
- 用NPOI从DataTable到Excel,向Excel模板填充数据
DataTable---->Excel,填充数据 private IWorkbook workbook = null; private ISheet sheet = null; private ...
- 读取excel模板填充数据 并合并相同文本单元格
try { string OutFileName = "北京市国控企业污染源废气在线比对监测数据审核表" + DateTime.Now.ToString(& ...
- 根据EXCEL模板填充数据
string OutFileName = typeName+"重点源达标率" + DateTime.Now.ToString("yyyy-MM-dd"); ...
- Freemarker取list集合中数据(将模板填充数据后写到客户端HTML)
1.模板写法: <html> <head> <title>freemarker测试</title> </head> <body> ...
- python脚本从excel表到处数据,生成指定格式的文件
#coding:gbk #导入处理excel的模块 import xlrd #定义哪些字段须要推断,仅仅支持时间字段 toSureColArray = ['CREATE_TIME','MODIFY_T ...
- Laptop Issue Letter (读取Excel中指定内容,然后生成新的Excel文件)
$xl = New-Object -ComObject "Excel.Application" $cmdbwb = $xl.Workbooks.Open("F:\Ivan ...
- Aspose.cell中的Excel模板导出数据
//Excel模板导数据(Eexcel中根据DataTable中的个数,给多个Sheet中的模板赋值) public void DataSetToManyExcel(string fileName, ...
- Python用xlrd读取Excel数据到list中再用xlwt把数据写入到新的Excel中
一.先用xlrd读取Excel数据到list列表中(存入列表中的数据如下图所示) import xlrd as xd #导入需要的包 import xlwt data =xd.open_workboo ...
- 读取word模板,填充数据后导出
一.需求说明 定期生成word报告,报告中含有文本.表格.图表等元素,依次获取进行替换,保留原有样式,生成新的word文档 二.引入依赖 <dependency> <groupId& ...
随机推荐
- 解决Oracle EM 乱码问题
原创 作者:fa042 时间:2012-11-17 16:50:34 199 0 Oracle 10g提供了一个基于Web的管理工具EM(Enterprise Manager),使用比较方便.不过,如 ...
- Kettle优化就这么多
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/ClamReason/article/details/49930479 Kettle正常转换速度 场景 ...
- java List集合记录 ArrayList和LinkedList的区别
一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构. 2.对于随机访问 ...
- Android之sqlite3命令行简单使用
首先需要定位到database所在的目录里面,然后使用命令 sqlite3 databasename(数据库的名字)进入 常用命令: 1. .table 列取该数据库下面的数据表名 2. .s ...
- winform中的TreeView的数据绑定
#region 绑定TreeView /// <summary> /// 绑定TreeView(利用TreeNode) /// </summary> /// <param ...
- Spring常用表单验证注解
下面是主要的验证注解及说明: 注解 适用的数据类型 说明 @AssertFalse Boolean, boolean 验证注解的元素值是false @AssertTrue Boolean, boole ...
- spring mvc 接受前台json @RequestBody json 属性 空 使用 JsonProperty spring mvc 获取json转乘bean
请给json序列序列化成的javabean 属性加上 @JsonProperty(value = "real_name") 否则 springmvc 可能接受不到数据 ja ...
- Andriod源码搜集
1.一个左侧抽屉式导航NavigationDraw 教程:http://developer.android.com/training/implementing-navigation/nav-drawe ...
- js获取当前域名、Url、相对路径和参数
用 Javascript 可以单独获取当前域名.Url.相对路径和参数,所谓单独攻取,即域名不包括网页文件的路径和参数.参数不包括域名和网页文件路径,下面分别介绍. 一.js获取当前域名有2种方法 1 ...
- 使用checkstyle来规范你的项目
Checkstyle是什么 自从做了程序员,关于格式化的讨论就不曾中断过,到底什么才是正确的,什么才是错误的,到现在也没有完整的定论.但随着时间发展,渐渐衍生出一套规范出来.没有什么绝对的正确和错误, ...