2016-08-10 3 views
0

Ist eine Möglichkeit, Formel in Tabelle mit Aspose Word Java API hinzuzufügen. Ich habe einen Code geschrieben, um eine Gesamtreihe zu generieren, aber ich suche nach der Inhaltskontrolle für die Formel.Wie man FieldFormula in die Zelle mit Hilfe von aspose-Wort in Java hinzufügt

Ich fand API FieldFormula, dieses Feld API. Können wir Feld in Zelle hinzufügen?

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

Es scheint zu sein Aspose.Words Problem nicht Aspose.Cells. Bitte entfernen Sie das Aspose.Cells-Tag und fügen Sie das Aspose.Words-Tag hinzu, damit die Aspose.Words-Community Ihnen bei der Lösung dieses Problems helfen kann. Vielen Dank. – shakeel

Antwort

1

FieldBuilder Klasse baut ein Feld von Feldcode-Token (Argumente und Schalter). Im folgenden Codebeispiel wird die FieldFormula in die Tabellenzelle eingefügt. Hoffe das hilft dir.

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"); 

Ich arbeite mit Aspose als Entwickler Evangelist.

+0

Danke für die Antwort. Es wurde ähnlich gemacht. Es gibt eine andere Möglichkeit, Feldcode in 'builder.insertField' einzufügen und eine Formel für diese zu definieren. – iMBMT

Verwandte Themen