您的位置:首页 > 编程语言 > Java开发

java poi 基于模板文件替换字符生成word文档

2016-08-25 18:51 776 查看
最近在公司开发个小功能,要求是基于需求提供的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();
}


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

效果:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: