【发布时间】:2018-12-27 07:57:03
【问题描述】:
我有以下问题,就像大家一样,我想用 Word doc 中的其他项目替换一些项目。
问题的问题是,文档包含页眉和页脚,它们是POIFSFileSystem 的一部分(我知道这是因为读取 FS / 写回 doc - 没有任何更改 - 会丢失这些信息,而读取 FS / 将其写回因为新文件没有)。
目前我这样做:
POIFSFileSystem pfs = new POIFSFileSystem(fis);
HWPFDocument document = new HWPFDocument(pfs);
Range r1 = document.getRange();
…
document.write();
ByteArrayOutputStream bos = new ByteArrayOutputStream(50000);
pfs.writeFilesystem(bos);
pfs.close();
但是这失败了,出现这个错误:
Opened read-only or via an InputStream, a Writeable File is required
如果我不重写文档,它可以正常工作,但我的更改会丢失。 反之,如果我只保存文档而不是文件系统,我会丢失页眉/页脚。
现在的问题是,如何在“另存为”整个文件系统的同时更新文档,或者有没有办法强制文档包含文件系统中的所有内容?
【问题讨论】:
标签: java apache-poi doc