Aspose如何控制表格列(Row)的上下平均寬度

Dear Sir
現有一表格分為上下兩半部,當內部Row增加時,下半部的表格高度會被變小,這部分aspose words java可以如何設定表格的高度大小嗎?附件是目前使用的範本。Q-4-10-1-temp.docx (18.4 KB)謝謝!

@lfengh

请接受我对迟到回复的歉意。 为确保及时准确的响应,请在此处附上以下资源进行测试:

  • 请附上显示不良行为的输出 Word 文件。
  • 请附上显示所需行为的预期输出 Word 文件。
  • 请创建一个简单的 Java 应用程序(没有编译错误的源代码),以帮助我们在我们端重现您的问题并将其附在此处进行测试。

一旦您准备好这些信息,我们将开始调查您的问题并为您提供更多信息。 谢谢你的配合。

PS:要附上这些资源,请压缩并上传它们。

@tahir.manzoor

您好,目前已將相關資料上傳好,謝謝。

2個表格插入列會影響到下方表格.7z (24.0 KB)

@lfengh

很遗憾,我们无法执行您的代码。 请创建简单的应用程序(没有编译错误的源代码),以帮助我们在最后重现您的问题,并将其附在此处进行测试。

在您预期的输出文档中,表格行具有不同的高度。 您能否与预期的输出文件一起分享您的要求的完整细节。

@tahir.manzoor

你好,已修正代碼(可編譯)和預期輸出的文檔表格高度,再煩請協助,謝謝。

2個表格插入列會影響到下方表格V2.7z (24.0 KB)

@lfengh

谢谢分享细节。 根据我们的理解,您要执行邮件合并操作。 邮件合并区域的数据源有一条记录。

您想在 Word 文档的下一页插入空行。 如果这是您的要求,您需要实现 IFieldMergingCallback 接口并通过在 IFieldMergingCallback.FieldMerging 方法中克隆行来插入同一表的行。

@tahir.manzoor
不好意思,可能有點看不太懂您回覆的意思,目前是需要能夠DB查詢的部分套入到資料嗎?(目前已經可以郵件合併)。

@lfengh
您已在此论坛主题中共享了三个 Word 文档。 1) 输入 Word 文档包含邮件合并字段。 2) 有问题的输出文档 3) 预期输出的 word 文档。

在您预期和有问题的输出文档中,有空行。 但是,代码PH1637570217953.java 显示它不会生成表中的空行。

其次,我们最终无法执行您的代码。 我们为您的案例编写了以下代码示例。 表格的行具有相同的行高。 请检查随附的输出文件。
output.docx (11.8 KB)

Document doc = new Document(MyDir + "Q-4-10-1-temp (4).docx");

DataTable Q4101 = new DataTable("Q-4-10-1");
 
 Q4101.getColumns().add("Dates");
Q4101.getColumns().add("Item1");
Q4101.getColumns().add("Item2");
 Q4101.getColumns().add("Item3");
 Q4101.getColumns().add("Item4");
 Q4101.getColumns().add("Item5");
Q4101.getColumns().add("Item6");
 Q4101.getColumns().add("Item7");
Q4101.getColumns().add("Item8");
Q4101.getColumns().add("Item9");
Q4101.getColumns().add("Item10");
Q4101.getColumns().add("Item11");
Q4101.getColumns().add("Item12");
Q4101.getColumns().add("Item13");

for (int i = 0; i < 10; i++)
{
   
    DataRow row = Q4101.newRow();
    row.set(0,"test");
    row.set(1,"test");
    row.set(2,"test");
    row.set(3,"test");
    row.set(4,"test");
    row.set(5,"test");
    row.set(6,"test");
    row.set(7,"test");
    row.set(8,"test");
    row.set(9,"test");
    row.set(10,"test");
    row.set(11,"test");
    row.set(12,"test");
    row.set(13,"test");
    Q4101.getRows().add(row);
}

doc.getMailMerge().executeWithRegions(Q4101);

doc.save(MyDir + "output.docx");   

您能否分享一下您的用例的完整细节,您想使用 Aspose.Words 实现什么目标? 不幸的是,您的要求不够明确。 请分享有关您的问题和要求的更多详细信息。 然后,我们将为您提供有关它的更多信息。

@tahir.manzoor
您好, 主要是想要了解說當這個表格增加後,下面的主管簽章欄位會扁掉,這部分aspose是否可以克服?
謝謝。下方表格會變小.png (17.8 KB)

@lfengh

谢谢分享细节。 我们建议您取消选中“允许跨页换行”选项。 请查看所附图片了解详情。
image.png (66.5 KB)

我们已经修改了模板文档并附在这篇文章中以供您参考。
Q-4-10-1-temp - modified.docx (17.3 KB)

另外请注意,MS Word 文档是流式文档,最后一列的内容可能会根据邮件合并生成的表格行呈现在第一页或第二页。