如何使用 Apose.Words 使用合并的单元格绘制 table
How to draw table with merged cells using Apose.Words
我在使用 Aspose.Words
绘制 table 时遇到问题
所以我需要得到这个结果 table:
-link to proper table view-
为了画这个table我写了下一段代码:
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()
但就像现实中一样..我要下一个 table:
- link to incorrect table view-
我的问题是为什么单元格 'VALUE 1' 没有涵盖 "ROW 2" 中的所有 "VALUE 2_*" 个单元格,为什么它只涵盖一个单元格 "VALUE 2_1"?
我怎样才能从我的例子中得出正确的 table?
首先,请升级到 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 工作,担任开发人员布道师。
我在使用 Aspose.Words
绘制 table 时遇到问题
所以我需要得到这个结果 table:
-link to proper table view-
为了画这个table我写了下一段代码:
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()
但就像现实中一样..我要下一个 table:
- link to incorrect table view-
我的问题是为什么单元格 'VALUE 1' 没有涵盖 "ROW 2" 中的所有 "VALUE 2_*" 个单元格,为什么它只涵盖一个单元格 "VALUE 2_1"?
我怎样才能从我的例子中得出正确的 table?
首先,请升级到 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 工作,担任开发人员布道师。