有没有办法使用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);
}
答案 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一起担任开发人员传播者。