我试图通过使用XWPFDocument
类将模板Docx
文档替换为ApachePOI
。我在doc和JSON
文件中有标记来读取替换数据。我的问题是,当我将docx
的扩展名更改为zip
文件并打开document.xml
时,docx
中的文本行似乎以某种方式分开。例如,[MEMBER_CONTACT_INFO]
文本分别变为[MEMBER_CONTACT_INFO
和]
。POI
以相同的方式读取,因为Docx
原始文件是这样的。这将在段落中创建2个xwpfrun
对象,分别将文本显示为[member_contact_info
和]
。
我的问题是,是否有一种方法可以通过合并相关的运行或类似的方式强制POI
像Word一样运行?或者我该如何解决这个问题?我在替换时匹配运行文本,但我找不到我的标记,因为它被拆分为两个不同的运行对象。
最佳
这浪费了我很多时间...
基本上,一个xwpfPartage
由多个XWPFRun
组成,XWPFRun是一个具有固定相同样式的传染性文本。
因此,当您尝试在MS-Word中编写类似“[PLACEHOLDER_NAME]”的内容时,它将创建一个XWPFRun。但是,如果您以某种方式添加了更多的内容,然后返回并将“[PLACEHOLDER_NAME]”更改为其他内容,则不能保证它仍然是一个xwpfrun
,它很有可能分裂为两个运行。AFAIK这就是MS-Word的工作原理。
在这种情况下如何避免分裂运行?
解决方案:我知道有两种解决方案:
>
将文本“[PLACEHOLDER_NAME]”复制到记事本或其他地方。进行必要的修改,将其复制回来并粘贴到word文件中,而不是“[PLACEHOLDER_NAME]”,这样整个“[PLACEHOLDER_NAME]”将被替换为新的文本,避免了XWPfruns的拆分。
如果必须再次更改新占位符,请按照步骤1或2进行操作。
我想知道你如何从一个文本文件中获取信息,并将其写入单独的数组列表中。 如你所见,上面有哺乳动物、鸟类和鱼类的群体!所以我将这些数组列表声明为。 目标是将人类、狗、老鼠和猫的字符串对象写入mammalList。然后将鸟写到鸟列表,将鱼写到鱼列表。 我知道如何使用缓冲读取器读取单个数组列表中的文本文件,但我不知道如何将每个动物分为各自的类别。非常感谢你的帮助! 下面是在Freestyle 076的帮助
在组件中: 鉴于:
问题内容: 我正在使用hibernate和c3p0 connectionpool插入,更新和删除许多分离的对象。问题在于,hibernate不会批处理语句,而是会 在每个session.persist / insert / update / delete(object)之间。分析sql- connection看起来像这样: select @@ session.tx_rad_only总是返回“ 0”
我正试图将某个程序的用户名打印到一个文件中,但PrintWriter没有在我的文件中打印任何内容。我已经尝试了stackOverFlow上提到的所有东西,但都不起作用。 用户类 构造函数:
问题内容: hibernate中哪些是分离的,持久的和短暂的对象?请举例说明。 问题答案: 甲其不与相关联的永久类的实例,有在数据库中没有表示和没有标识符值被认为是 瞬时 的hibernate: 甲 持久 实例具有在数据库中的表示,标识符值,并与一个相关联。您可以通过将瞬态实例与关联来使其 持久化 : 现在,如果我们使用Hibernate ,则持久化实例将成为一个 分离的 实例:它不再附加到实例上
我有这个数组,其中的每个索引都包含一个对象文本。所有的对象文本都具有相同的属性。对于给定的属性,一些对象文本具有相同的值,我想创建一个只包含这些对象文本的新数组。 我的想法是对数组进行排序,并将其切成一个新的数组... 以下是数组: 所以,我想创建一个新的数组,只包含那些属性为“United States”的对象。这是我到目前为止疯狂的想法,不管用: