问题标签 [xwpf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
786 浏览

java - 如何使用 poi 或任何其他 API 在 word 文档中插入框架

如何使用 Apache POI 从我的 Java 代码中将框架插入到 word 文件中?

我希望框架(仅带有左边框)插入页面的右上角。

您可以看到以红色框突出显示的框架:

0 投票
1 回答
3045 浏览

java - XWPF - 删除单元格文本

我有一个包含单个表的 .docx 文件。我想从第 2 行到最后删除所有文本。但是该方法myTable.getRow(somecounter).getCell(somecounter2).setText("")不起作用,因为它仅将“”连接到现有值。我也尝试制作一个 XWPFRun 并run.setText("")从创建,myTable.getRow(sc).getCell(sc2).getParagraphs().get(0).createRun()但它也不起作用。

也尝试了这个线程的解决方案,这次没有运气:(

任何想法如何轻松地从单元格中删除文本?我的想法是从头开始制作一张新表并在其中填充内容,但这似乎非常艰巨。

0 投票
1 回答
1195 浏览

java - 有没有办法用 Apache POI xwpf 文档识别字符样式?

在这里 ,我们看到“HWPF”(MS Word 2000 .doc)文件的 Apache POI 有一个方法 CharacterRun.getStyleIndex()... 通过它你可以识别字符样式(不是段落样式)适用于本次运行...

但是对于XWPF的东西(MS Word 2003+ .docx)文件,我找不到任何方法来识别 XWPFRun 对象中的字符样式。

0 投票
2 回答
2097 浏览

apache - 如何使用 Java 将一个模板用于 XWPFDocument 中的多个页面

我想知道,我怎样才能多次重用一个模板(里面有一页和一些变量)一个XWPFDocument对象。

我的想法是:

  • XWPFDocument将模板作为模板对象加载一次
  • 克隆/创建/复制模板对象及其所有样式和标题等
  • 用内容填充克隆
  • 将此克隆添加到目的地-XWPFDocument

我只为一页得到了这项工作。当我尝试克隆/创建/复制模板对象时,它将丢失他所有的样式信息。

如何使用Java将一段.docx复制到另一个.docx并保留样式

如何使用 POI 将一个 .docx 中的某些内容复制到另一个 .docx 而不丢失格式?

0 投票
1 回答
2200 浏览

java - 通过 Apache POI 将自定义(扩展)属性添加到 docx 和段落

我想使用 Apache POI 将文件从 *.fidus (Fidus Writer) 平台转换为 *.docx 格式,反之亦然。

在 *.fidus 文件中有一些属性,我需要将它们作为扩展或自定义属性存储在 *.docx 文件中,然后当我想将其转换回 *.fidus 时可以检索它们。

因此,我想知道如何使用 POI 的类 CustomProperties 或类似的东西将一些属性添加到 docx 文件。也可以使用 POI 将自定义属性(扩展属性)添加到 docx 文件中的段落吗?

提前致谢。

0 投票
1 回答
1192 浏览

java - Java如何在Apache POI上进行搜索和替换时避免覆盖模板文件

我正在使用 Apache POI 3.13 并尝试从给定的模板文件中搜索和替换文本,然后保存新生成的 .docx。这是我的代码:

这看起来很简单,但是当我运行此代码时,文档“Sample.docx”也会被替换。最后,我有两个内容相同的文件。

这是 POI 的正常行为吗?我以为打开文档只会将其加载到内存中,然后执行 'doc.write(OutputStream);' 会将其刷新到磁盘。

我尝试写入相同的“filePath”,但正如预期的那样,它会引发异常,因为我正在尝试写入当前打开的文件。

唯一有效的是当我首先复制模板文件并使用该副本时。但是现在,我有 3 个文件,第一个是原始模板“Sample.docx”,其余 2 个具有相同的内容(SampleProcessed.docx 和 SampleProcessedOut.docx)。

它有效,但它非常浪费。有什么办法吗?我做错了什么,也许我打开word文档错了?

0 投票
1 回答
936 浏览

apache-poi - 如何使用 Apache POI 将嵌入式方程式添加到 docx 文件?

我想通过 Apache POI 以编程方式创建一个 docx 文件。

我想在某些行中添加一些数学方程式。

我怎样才能做到这一点,当用户打开 docx 文件时,它会将方程视为 docx 方程形式。

我的意思是我不想简单地为该运行提供背景颜色,我希望当用户双击我的方程式 MS-Word 时以方程式形式打开它。

提前致谢

0 投票
1 回答
4564 浏览

apache-poi - 如何使用 Apache POI 在 docx 文件中设置运行的背景颜色(行中的单词或段落)?

我想使用 Apache POI 创建一个 docx 文件。

我想设置运行的背景颜色(即一个单词或段落的某些部分)。

我怎样才能做到这一点?

是否可以通过 Apache POI。

提前致谢

0 投票
1 回答
1807 浏览

java - 如何使用 apache-poi 水平合并单元格

我可以使用这个函数进行垂直合并:

但我不能用类似的功能进行水平合并:

谢谢!

0 投票
0 回答
368 浏览

java - 如何在docx中显示脚注?

在我的XWPFDocument 中,我插入了各种脚注,它们存储在List<XWPFFootnote>其中。这是我在XWPFDocument(XML 格式)中的一个脚注示例:

我可以通过 id 轻松获取它们,doc.getFootnoteByID(id)并正确返回它们。但是,我真的不知道如何在我的文档中直观地显示它们,因为现在它们在XWPFDocument中,但我找不到将它们“附加”或类似内容的方法到文档页面、XWPFParagraphXWPFRun . 我也尝试过使用HeaderFooterPolicy,但它似乎也不适用于XWPFFootnote或其CTFtnEd n 属性。

要清楚,例如这样做:

我的目标是将 w:id 显示为“TEXT”的上标,然后在页面末尾显示“定义”。我试图找到一种方法来做到这一点,但我没有运气。

我想知道如何使它们看起来像 docx 中的经典脚注(文本中的 id,末尾的定义),我似乎找不到方法。

我希望这是一个有效的问题。谢谢你。