package com.poi.demo.word;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.Range;
/**
* 整个word内查找替换
* 模版为.doc格式文件
* @author longfeisun
*
*/
public class DOCWriter {
public static void main(String[] args) {
Properties ps = System.getProperties();
for(Entry<Object, Object> e : ps.entrySet()){
System.out.println("key:" + e.getKey() + "-- value:"+e.getValue());
}
//取工程根目录
String rootPath = System.getProperty("user.dir");
//取木板文件地址
String srcPath = rootPath + File.separator + "file" + File.separator + "3.doc";
//取生成文件地址
String targetPath = rootPath + File.separator + "file" + File.separator + "4.doc";
Map<String, String> map = new HashMap<String, String>();
map.put("${name}", "张三");
map.put("${age}", "26");
map.put("${mobilephone}", "18910264201");
searchAndReplace(srcPath, targetPath, map);
}
public static void searchAndReplace(String srcPath, String targetPath,
Map<String, String> map) {
FileInputStream fis = null;
HWPFDocument document = null;
FileOutputStream fos = null;
try{
fis = new FileInputStream(srcPath);
document = new HWPFDocument(fis);
Range range = document.getRange();
for(Entry<String, String> e : map.entrySet()){
range.replaceText(e.getKey(), e.getValue());
}
fos = new FileOutputStream(targetPath);
document.write(fos);
} catch (Exception ex){
ex.printStackTrace();
} finally {
try {
if(fis!=null){
fis.close();
}
if(fos!=null){
fos.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
poi操作word(二)
最新推荐文章于 2024-09-16 16:25:29 发布