- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想使用模板创建一个word文档,替换一些变量(字段)并将其另存为一个新的word文档。
我在考虑使用 Apache POI,http://poi.apache.org/这是最好的吗?你能分享一下你对它的印象吗?
最佳答案
我以前使用过 POI,它肯定能够生成 Word 文档。但细节决定成败。
Word 有数以千计的功能:您可以将从 #13 开始的带有负缩进的编号列表放入一个表的两个连接单元格中,该表包含在另一个表中,该表本身是项目符号列表的一部分……您明白了。当 POI 文档说它们是一项正在进行的工作时,这反射(reflect)了努力 catch (对我们来说,未记录的)Word 规范可能是一种永恒的状态。
POI 很好地支持具有合理“正常”使用功能集的文档,其接口(interface)和方法合理且一致,但有时需要一些工作。但正如 Pascal 所说,RTF 也支持具有不太过分功能的文档。我几乎没有“做”RTF 的经验,但它可能比使用 POI 简单一些。
如果您工作的环境或客户坚持要求您生成的文档是 .DOC
而不是 .RTF
,那么 POI 几乎是您唯一的选择选择,除非您可以引入一个步骤,在该步骤中使用一些 Office 自动化将 RTF 转换为 DOC。
更新:与此同时,我还有一些想法。
使用 POI 或创建 RTF 文档几乎可以在任何平台上进行。例如,在我的工作中,所有执行此类处理的服务器都恰好运行 Linux。
但是,如果您的程序可能会在 Windows 下运行,则还有另一种选择:Jacob http://www.land-of-kain.de/docs/jacob/
Jacob 是 Java 的 COM
接口(interface);它本质上允许您“远程控制”Windows 程序,例如 Word 和 Excel。我在上面链接的文档不是 Jacob 自己的站点,而是包含使用 Jacob 的“千篇一律”食谱的单个页面。该项目本身在 SourceForge 上:http://sourceforge.net/projects/jacob-project/但是人们声称文档有点缺乏,这是正确的。
与所有其他解决方案相比,Jacob 的优势在于您处理的是“真正的”Word,因此您可以使用 Word 的所有功能。如果您的文档中有无法通过 POI 或 RTF 格式处理的详细信息,这将是一种替代方法。
关于java - Java 中的 Word 文档创建 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1991030/
我想标记一个字符串,例如 Best Beat Makers,以几乎类似于 NGram 的方式为每个单词生成标记,例如: IN: "Best Beat Makers" OUT: ["Best", "B
这个问题在这里已经有了答案: Is there a way to word-wrap long words in a div? (6 个答案) 关闭 7 年前。
我想编写一个 Python 代码来检查字符串是否包含类似于以下内容的内容: 'word.Word' => 将其替换为 'word.\nWord'。 smallLetter.capitalLetter
我想编写一个 Python 代码来检查字符串是否包含类似于以下内容的内容: 'word.Word' => 将其替换为 'word.\nWord'。 smallLetter.capitalLetter
我有以下正则表达式: ^--([\w|-]+) 我想匹配 --word --no-word 但不是: ---word ----word 最佳答案 将表情更改为 ^--(\w[-\w]*) 这需要在两个
在我的加载项中,我需要为每个打开的文档创建一个任务 Pane 。在加载项的启动方法中,我订阅了 ApplicationEvents4_Event.NewDocument 和 Application.D
我使用 word javascript api 开发了一个 word 插件。我的文档 .docx 文件在服务器上,我需要在加载项中单击按钮打开该 .docx 文档作为新的 Word 文档。 请指导我如
我需要在某个地方修复一些 CSS,因为我的文本没有环绕,如果它是一个非常长的单词,它会无限期地继续下去。 在大多数情况下,我在我的 CSS 文件中尝试了 word-wrap: break-word;
这个问题在这里已经有了答案: What is the difference between "word-break: break-all" versus "word-wrap: break-word
这个问题在这里已经有了答案: What is the differect between word-wrap and overflow-wrap? [duplicate] (1 个回答) Is t
问题详细描述如下: 给定两个单词(beginWord 和 endWord)和字典的单词列表,找出是否存在从 beginWord 到 endWord 的转换序列,这样: 一次只能更改一个字母 每个转换后
我以前没有使用过邮件合并字段,我发现的所有内容都要求您在能够插入合并字段之前选择一个数据源。我想要做的就是将字段放在 word 文档上,并且在代码使用它之前不要将其合并。我基本上是在创建文档模板。这在
将此代码放置在ThisDocument_Startup之外的Word文档级VSTO解决方案中的某个位置(创建带单击事件的功能区按钮): int zero = 0; int divideByZero =
有没有办法在没有加载项的情况下启动 MS Word(仅此实例)?我只能找到一种方法来完全禁用加载项。 最佳答案 来自Word command line switches documentation ,
有没有办法在没有加载项的情况下启动 MS Word(仅此实例)?我只找到一种方法来完全禁用加载项。 最佳答案 来自Word command line switches documentation ,您
当使用 URI 方案从网页上托管的 word 模板打开新文档时不起作用。 https://msdn.microsoft.com/en-us/library/office/dn906146.aspx 这
我的问题: overflow-wrap: break-word 和 word-break: break-word 有区别吗? 非重复: 这里有一些现有的问题,乍一看可能是重复的,但实际上不是。 Wha
我希望使用 WordNet 从一组基本术语中寻找相似术语的集合。 例如,单词'discouraged' - 潜在的同义词可能是:daunted, glum, deterred, pessimistic
部署 Word Add in 时,发布没有错误。复制文件后出现以下错误。 我没有太多事情要做。这是堆栈跟踪。 ************** Exception Text **************
我需要一个 Java 正则表达式来匹配除某个单词之外的任何单词,同时包含另一个单词。 例如字符串中不能包含Apple,但必须有Peach。 Apple and Peach - Not match Pe
我是一名优秀的程序员,十分优秀!