如何使用Apose.Words绘制包含合并单元格的表格

时间:2015-07-15 08:09:32

标签: merge cells aspose aspose.words


我使用Aspose.Words的绘图表有问题
所以我需要得到这个结果表:
    - link to proper table view -

要绘制此表,我已编写下一个代码:

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()

但通常在现实中..我得到下一张桌子:
- link to incorrect table view -

我的问题是为什么电池' VALUE 1'并不涵盖所有" VALUE 2 _ *"细胞来自" ROW 2",为什么它只覆盖一个细胞" VALUE 2_1"?
    我怎么能从我的例子中画出适当的表格呢?

1 个答案:

答案 0 :(得分:1)

首先,请升级到latest version of 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一起担任开发者布道者。