根据excel模板里设置指定的num0,num1,num2,num3.然后替换成想到的内容,生成新的excel文件

?

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.poifs.filesystem.POIFSFileSystem;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

/**

* Writer: fuanyu

* Date : 14-12-26

* Time : 上午9:43

*/

@SuppressWarnings("unchecked")

public class TestExcel {

/**

* 替换Excel模板文件内容

* @param item 文档数据

* @param sourceFilePath Excel模板文件路径

* @param targetFilePath Excel生成文件路径

*/

public static boolean replaceModel(Map item, String sourceFilePath, String targetFilePath) {

boolean bool = true;

try {

POIFSFileSystem fs =new POIFSFileSystem(new FileInputStream(sourceFilePath));

HSSFWorkbook wb = new HSSFWorkbook(fs);

HSSFSheet sheet = wb.getSheetAt(0);

Iterator rows = sheet.rowIterator();

while(rows.hasNext()){

HSSFRow row = (HSSFRow) rows.next();

if(row!=null)

{

int num = row.getLastCellNum();

for(int i=0;i

{

HSSFCell cell= row.getCell(i);

if(cell!=null)

{

cell.setCellType(HSSFCell.CELL_TYPE_STRING);

}

if(cell==null || cell.getStringCellValue()==null)

{

continue;

}

String value= cell.getStringCellValue();

if(!"".equals(value))

{

Set keySet = item.keySet();

Iterator it = keySet.iterator();

while (it.hasNext()) {

String text = it.next();

if(value.equalsIgnoreCase(text))

{

cell.setCellValue((String)item.get(text));

break;

}

}

}else{

cell.setCellValue("");

}

}

}

}

// 输出文件

FileOutputStream fileOut = new FileOutputStream(targetFilePath);

wb.write(fileOut);

fileOut.close();

} catch (Exception e) {

bool = false;

e.printStackTrace();

}

return bool;

}

public static void main(String[] args) {

Map item = new HashMap();

item.put("num0","000");

item.put("num1","1");

item.put("num2","2");

item.put("num3","3");

item.put("num4","4");

item.put("num5","5");

item.put("num6","6");

//d:\\template.xls为Excel模板文件,d:\\test.xls为程序根据Excel模板文件生成的新文件

replaceModel(item, "d:\\template.xls", "d:\\test.xls");

}

}

?

原文:http://fuanyu.iteye.com/blog/2170263

java excel替换字符串_java操作excel 替换指定字符串相关推荐

  1. java excel 字体大小_java操作Excel的poi的字体设置

    package com.java.poi; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.us ...

  2. python如何操作excel数据_Python如何操作Excel

    以上可以根据需求的不同,选择合适的工具,现在给大家主要介绍最常用的xlrd&xlwt&xlutils系统工具的使用 1. xlrd&xlwt&xlutils介绍 xlr ...

  3. 字符串之替换字符串中连续出现的指定字符串

    题目: 字符串之替换字符串中连续出现的指定字符串 给定3个字符串str from to已知from字符串无重复字符,把str中所有from的子串全都替换成to字符串,连续出现from只需要换成一个to ...

  4. python 读excel每行替换_Python脚本操作Excel实现批量替换功能

    Python脚本操作Excel实现批量替换功能 大家好,给大家分享下如何使用Python脚本操作Excel实现批量替换. 使用的工具 Openpyxl,一个处理excel的python库,处理exce ...

  5. java excel生成_java操作excel表,包括创建、读取、以及修改【via 度娘】

    作者的网站上对它的特征有如下描述: ● 支持Excel 95-2000的所有版本 ● 生成Excel 2000标准格式 ● 支持字体.数字.日期操作 ● 能够修饰单元格属性 ● 支持图像和图表 应该说 ...

  6. java excel类库_Java 操作 Excel 的类库 jExcelApi

    软件介绍 Java Excel API(JXL)是一个成熟,开源的用来操作Excel电子表格的Java类库,支持读取,修改,写入等操作.这个项目基于GPL发布,而且对中文有很好的支持. ● 支持字体. ...

  7. java中excel上传_java对excel表格的上传和下载处理

    Excel表格文件的上传和下载,java中涉及到文件肯定会有io流的知识. 而excel文件就要涉及到poi技术,而excel的版本包括:2003-2007和2010两个版本, 即excel的后缀名为 ...

  8. java jxl mergecells_java 中JXL操作Excel实例详解

    JXL操作Excel 前言: jxl是一个韩国人写的java操作excel的工具, 在开源世界中,有两套比较有影响的API可 供使用,一个是POI,一个是jExcelAPI.其中功能相对POI比较弱一 ...

  9. java 操作excel jxl_java 中JXL操作Excel实例详解

    JXL操作Excel 前言: jxl是一个韩国人写的java操作excel的工具, 在开源世界中,有两套比较有影响的API可 供使用,一个是POI,一个是jExcelAPI.其中功能相对POI比较弱一 ...

最新文章

  1. python 实现ftp服务 简介
  2. centos7修改默认网卡名称
  3. 解决GitHub中头像显示异常、设置不了头像、README图片无法显示等问题
  4. python代码加密解密_在python中加密 – 在Javascript中解密
  5. 前端学习(1886)vue之电商管理系统电商系统之首页路由的重定向主页侧边栏路由链接的改造
  6. 王思聪怒了!大众点评紧急道歉:相关账户已冻结
  7. 1.Zabbix企业级分布式监控系统 --- 监控系统简介
  8. mysql的data文件夹的位置以及作用
  9. heidisql与 MySQL区别,heidisql怎么使用 MySQL可视化工具heidisql安装使用教程
  10. 如何在简历中使用STAR法则
  11. 华为虚拟服务器忘记密码,远程服务器的密码忘记了
  12. 腾讯区块链正式落地法律场景,携手慧狮构建“司法联盟链”
  13. SIGGRAPH Asia 2022 | 港中文MMLab:Marker Correspondence估计框架和应用
  14. 【tableau小白进阶之路】多度量折线图制作 时间轴制作
  15. MAC 10.14安装第三方软件的方法
  16. 漫画:程序员调bug的真实写照233
  17. 【关于谷歌浏览器 无法翻译此网页的解决方法】
  18. keil手把手创建文件
  19. 利用勾子监视系统或进程中的各种事件消息,截获发往目标窗口的消息并进行处理
  20. 《统计学》笔记:第11章 一元线性回归

热门文章

  1. java求六位数以内所有自幂数
  2. 2020-4-20 深度学习笔记20 - 深度生成模型 3 (实值数据上的玻尔兹曼机)
  3. android 4.0版本手机接受多条短信分析
  4. 股利折现模型详解-股票定价-财务管理(七)
  5. STM32 —— OLED 屏幕入门
  6. 《响应式Web设计性能优化》一2.3 Web运行时性能
  7. jQuery手机触屏拖动滑块验证跳转插件
  8. SCR-MCR:正则项, OGB榜单--清华唐杰-- 可扩展图学习
  9. “幽灵刹车”困扰特斯拉
  10. 1000元如何让旧电脑升级改造?这些方案你得学会