如何使用java中的aspose字将FieldFormula添加到Cell中

时间:2016-08-10 09:59:21

标签: java aspose aspose-cells

有没有办法使用aspose word java API将公式添加到表中。 我写了一个代码来生成聚合行但我搜索相关的公式内容控件。

我找到了API FieldFormula,即此字段API。我们可以在Cell中添加字段吗?

  private void prepareAggregateRow(Table table, Row headerRow, Map<String, WsAttribute> attrValueMap, List<Attribute> attrDefs) throws Exception{
        Row totalRow = (Row)headerRow.deepClone(true);
        for (Attribute attribute : attrDefs) {
            WsAttribute wsAttribute = attrValueMap.get(attribute.getName());
            Cell cell = totalRow.getCells().get(attribute.getIdx());
            Run run = (Run)cell.getChild(NodeType.RUN, 0,true);
            if(wsAttribute!=null && wsAttribute.getValue()!=null) {
                run.setText(wsAttribute.getValue());
            } else {
                run.setText("");
            }
        }
        table.appendChild(totalRow);
    }

1 个答案:

答案 0 :(得分:1)

FieldBuilder类从字段代码标记(参数和开关)构建字段。下面的代码示例在表格的单元格中插入FieldFormula。希望这对你有所帮助。

Document doc = new Document(MyDir + "in.docx");
DocumentBuilder builder = new DocumentBuilder(doc);

Table table = (Table)doc.getChild(NodeType.TABLE, 0, true);
Cell cell = table.getFirstRow().getFirstCell();
builder.moveTo(cell.getFirstParagraph());

FieldBuilder fbuilder = new FieldBuilder(FieldType.FIELD_FORMULA);
fbuilder.addArgument("20000").addSwitch("\\# \"#,##0\"").buildAndInsert(builder.getCurrentParagraph());

doc.updateFields();
doc.save(MyDir + "Out.docx");

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