【发布时间】:2014-08-25 02:36:18
【问题描述】:
我最近一直在开发一个自动化系统来制作和打印要邮寄的信件。系统工作如下:
- 我创建了一个包含所有信息的文件,并用 %... 占位符替换了一些内容。例如,%name、%date 等。
- 当我运行应用程序时,我可以从列表中选择一个名称,它会自动加载文档,用 MySQL 数据库提供的信息替换所有占位符,然后打印出文档。出于测试目的,我现在只是保存文档。
我在互联网上找到了一些教程,并找到了适合我需要的代码。不幸的是,此代码仅适用于 2007 年以前的 Word 版本(.doc 文件)。对于 2007 年及以上的兼容性(.docx 文件),我会进行哪些更改?
public static void main(String[] args){
try{
FileInputStream fis = new FileInputStream("/Users/Jasper/Desktop/document.doc");
POIFSFileSystem fs = new POIFSFileSystem(fis);
HWPFDocument doc = new HWPFDocument(fs);
Range range = doc.getRange();
range.replaceText("%name", "Jasper");
range.replaceText("%age", "17");
FileOutputStream fos = new FileOutputStream("/Users/Jasper/Desktop/document2.doc");
doc.write(fos);
fis.close();
fos.close();
}catch(Exception e){
e.printStackTrace();
}
}
【问题讨论】:
标签: java replace ms-word apache-poi docx