1. 程式人生 > >java poi 基於模板檔案替換字元生成word文件

java poi 基於模板檔案替換字元生成word文件

最近在公司開發個小功能,要求是基於需求提供的word文件模板來生成規定的word文件。
想了一下,就用了poi來做,這裡特別強調一點,實現該功能所需的jar包最好是:poi-scratchpad-3.8-beta4-20110826.jar 和 poi-3.8-beta4-20110826.jar 否則會匯出一個損壞檔案。
word文件中的預設字元:這裡寫圖片描述

程式碼(系統是ssh的):

1. public void download(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) throws
    Exception { 
        String path = ExcelUtil.class
.getResource("").getPath();//存放模板檔案的路徑,可手動拼接字串 path += "refundApply.doc";//模板檔案 String filePath = request.getRealPath("/").replace("\\", "/") + "fileTemp/";//生成檔案的路徑,也可手動拼接 String fileName = "生成的檔名.doc";//生成檔案的檔名 response.setHeader("Content-Disposition", "attachment;fileName="
+java.net.URLEncoder.encode(fileName,FileUtils.Copy(path, filePath + fileName); File file = new File(filePath + fileName); FileInputStream inputStream = new FileInputStream(file); HWPFDocument doc = new HWPFDocument(inputStream); Range range = doc.getRange(); range.replaceText
("${recNumber}", "123456"); //這裡依次替換就可以了!! range.replaceText("${recBank}", "中國銀行"); range.replaceText("${recName}", "張三"); ServletOutputStream os = response.getOutputStream(); doc.write(os); inputStream.close(); os.flush(); os.close(); response.flushBuffer(); }

========================================================================

效果:這裡寫圖片描述