0


我在使用 Aspose.Words 绘制表格时遇到问题

所以我需要得到这个结果表格:
-链接到正确的表格视图-

为了绘制这张表,我编写了下面的代码:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Table table = builder.startTable();

builder.insertCell();
builder.write("ROW 1");

builder.insertCell();
builder.getCellFormat().setHorisontalMerge(CellMerge.FIRST);
builder.write("VALUE 1");

builder.insertCell();
builder.getCellFormat().setHorisontalMerge(CellMerge.PREVIOUS);

builder.insertCell();
builder.getCellFormat().setHorisontalMerge(CellMerge.PREVIOUS);

builder.endRow();

// next row
builder.insertCell();
builder.write("ROW 2");

builder.insertCell();
builder.write("VLAUE 2_1");

builder.insertCell();
builder.write("VLAUE 2_2");

builder.insertCell();
builder.write("VLAUE 2_3");

builder.endRow();
builder.endTable()

但通常在现实中..我得到下一张桌子:
-链接到不正确的表格视图-

我的问题是为什么单元格“VALUE 1”不涵盖“ROW 2”中的所有“VALUE 2_*”单元格,为什么它只涵盖一个单元格“VALUE 2_1”?
我怎样才能从我的例子中画出合适的表格?

4

1 回答 1

1

首先,请升级到最新版本的 Aspose.Words for Java即 15.6.0。其次,我已将您的代码修复如下:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Table table = builder.startTable();

builder.insertCell();    
builder.write("ROW 1");

builder.insertCell();
builder.getCellFormat().setHorizontalMerge(CellMerge.FIRST);
builder.write("VALUE 1");

builder.insertCell();
builder.getCellFormat().setHorizontalMerge(CellMerge.PREVIOUS);

builder.insertCell();
builder.getCellFormat().setHorizontalMerge(CellMerge.PREVIOUS);

builder.endRow();

// next row
builder.insertCell();
builder.getCellFormat().setHorizontalMerge(CellMerge.NONE);
builder.write("ROW 2");

builder.insertCell();
builder.write("VLAUE 2_1");

builder.insertCell();
builder.write("VLAUE 2_2");

builder.insertCell();
builder.write("VLAUE 2_3");

builder.endRow();
builder.endTable();

doc.save(getMyDir() + "15.6.0.docx");

希望这可以帮助。

我与 Aspose 一起担任开发人员宣传员。

于 2015-07-16T06:52:06.017 回答