java修改Word文档内容

需要的jar包:

        poi-3.8-20120326.jar

        poi-scratchpad-3.8-20120326.jar

创建word文档模板:

 

修改内容代码:

   public static void CreatWordByModel(String  tmpFile, Map contentMap, String exportFile) throws Exception{
  
        InputStream in = null;   
        in = new FileInputStream(new File(tmpFile));  
        
        HWPFDocument document = null;
        document = new HWPFDocument(in);
        // 读取文本内容
        Range bodyRange = document.getRange();
        System.out.println(bodyRange.toString());
        System.out.println(bodyRange.text());
        // 替换内容
        for (Map.Entry entry : contentMap.entrySet()) {
            bodyRange.replaceText("${" + entry.getKey() + "}", entry.getValue());
        }

        //导出到文件
        try {
        	ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            document.write((OutputStream)byteArrayOutputStream);
            OutputStream outputStream = new FileOutputStream(exportFile);
            outputStream.write(byteArrayOutputStream.toByteArray());
            outputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

 

测试代码:

    public static void main(String[] args) throws Exception {
        Map map=new HashMap();
        map.put("name","刁某某");
        map.put("age","24");
        map.put("sex","男");
        CreatWordByModel("G:/docModel.doc",map,"G:/downWord.doc");
    }

 

测试结果:

 

你可能感兴趣的:(java-util)