当前位置: 首页 > 知识库问答 >
问题:

Java Apache POI在现有表中添加新行。Word文档

邵畅
2023-03-14

下面是一个示例:

InputStream fin = new FileInputStream(args[0]);
    POIFSFileSystem fs = new POIFSFileSystem(fin);

    HWPFDocument doc = new HWPFDocument(fs);
    Range range = doc.getRange();

    range.getParagraph(269).insertAfter("TEST");
    doc.write(new FileOutputStream("SOME PATH"));

也许应该更新一些额外的东西(例如,SI,DSI),因为添加了新的CharacterRun?

共有1个答案

刘运浩
2023-03-14

WWPF只支持WORD97/2000格式的文档文件的简单变体。表已经很重要了。如果Word拒绝了您用库创建/修改的文件,那么您可能就倒霉了。

我以前为一个客户开发了一个基于Apache的HWPF代码库的自定义库。该自定义库增加了对许多特性的支持,并可以可靠地编写Word文件。做好所有这些事情是一项艰巨的工作。所以仅仅修理小东西是不可能的。你得花几个月的时间。

您可以在Word中创建空行,然后用HWPF填充它们吗?

编辑:可能的功能工作围绕:

+--------+-------------+------------------------------------+
| Rev 1  |  2014-01-01 | Created document                   |
+--------+-------------+------------------------------------+
| Rev 2  |  2014-01-02 | Corrected flow chart               |
+--------+-------------+------------------------------------+
| $REVMRK|  $REVDATE## | $REVTEXT########################## |
+--------+-------------+------------------------------------+
| $REVMRK|  $REVDATE## | $REVTEXT########################## |
+--------+-------------+------------------------------------+
| $REVMRK|  $REVDATE## | $REVTEXT########################## |
+--------+-------------+------------------------------------+
| $REVMRK|  $REVDATE## | $REVTEXT########################## |
+--------+-------------+------------------------------------+
    null

如果软件没有找到新行,则必须有人在Word中添加新行模板。

一些限制的原因:

没有插入:很多东西都与地址一起存储到文本流中(许多内部额外的表包含对文本内容的地址引用)。这适用于段落边框、字符格式、表格标记、书签、图形引用等。如果插入文本,地址可能会移动,Word文件可能会损坏。

 类似资料:
  • 我不知道如何使用Laravel框架将新列添加到现有的数据库表中。 我试图使用…编辑迁移文件。。。 在终端,我执行和。 如何添加新列?

  • 问题内容: 我已经阅读了一些有关在现有表中添加列的教程。我想到一个问题,是否可以在现有表格中添加其他行 例子, 我有一个汽车表,它具有:type和:colour属性,并且有一个方法 def mymethod_todoinsertnewrows可移动的 插入汽车{:type =>“ BMW”,:colour =>“ blue”} 结束 我该如何在上述方法中做到这一点?谢谢你 问题答案: 您可以按照以

  • 我正在表任务中添加新列名标题。但我得到一个错误,该表中不存在此列。谁能帮我解决那个错误。这是我的密码: 然后添加此代码 到创建的新表文件

  • 我想在laravel中现有的表中添加一些新列。 我已经在谷歌上搜索过了,在这些搜索之后,我已经使用命令创建了迁移。 将列添加到用户。php 创建之后,我运行这个命令。 但也犯了同样的错误: 基本表或视图已存在:1050个表“用户”已存在(SQL:create table(int unsigned not null自动递增主键,varchar(255)not null,varchar(255)not

  • 我不知道如何使用Laravel框架将新列添加到我现有的数据库表中。 我尝试使用...编辑迁移文件。 在终端中,我执行和。 如何添加新列?

  • 我尝试了各种方式添加Excel电子表格。但问题总是相同的。 我尝试了这里提出的代码, 将工作表添加到现有excel文件 使用Apache POI for Java在现有Excel工作簿中创建新工作表 问题是: