poi操作word(二)

来源:互联网 发布:java数据结构视频教程 编辑:程序博客网 时间:2024/06/03 01:41
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 blocke.printStackTrace();}}}}

0 0
原创粉丝点击