You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@poi.apache.org by 上善 <11...@qq.com> on 2016/03/14 10:05:00 UTC
I need help.
Use POI on Android export word, use POI version 3.14(05 March 2016 - POI 3.14), use is replaced in the template content to be derived, if the word template in the form of column number is less than or equal to 6 is replaced each column in the normal export of, if the form template is greater than 6 columns is derived from the word can not be opened, do not know what that is? You had encountered this problem? How to solve it.
code:
public void writeDoc(File demoFile ,File newFile ,Map<String, String> map)
{
try
{
FileInputStream in = new FileInputStream(demoFile);
HWPFDocument hdt = new HWPFDocument(in);
// Fields fields = hdt.getFields();
// 读取word文本内容
Range range = hdt.getRange();
// System.out.println(range.text());
// 替换文本内容
for(Map.Entry<String, String> entry : map.entrySet())
{
range.replaceText(entry.getKey(), entry.getValue());
}
ByteArrayOutputStream ostream = new ByteArrayOutputStream();
FileOutputStream out = new FileOutputStream(newFile, true);
hdt.write(ostream);
// 输出字节流
out.write(ostream.toByteArray());
out.close();
ostream.close();
}
catch(IOException e)
{
e.printStackTrace();
}
catch(Exception e)
{
e.printStackTrace();
}
}