【问题标题】:How to draw table with merged cells using Apose.Words如何使用 Aspose.Words 绘制包含合并单元格的表格
【发布时间】:2017-07-10 18:19:28
【问题描述】:


我在使用 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()

但在现实中通常...

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

【问题讨论】:

    标签: merge cells aspose aspose.words


    【解决方案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 合作,担任开发人员宣传员。

    【讨论】:

    • 非常感谢!!它真的帮助了我!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-30
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多