G40单元格在excel中公式计算为64000.00,通过接口转为html之后显示的是64100.00
image.png (119.9 KB)
this is my excel:EPPR_60761.zip (28.7 KB)
this is my code:
Workbook workbook = new Workbook("D://Program_Data//Aspose//EPPR_60761//EPPR_60761.xlsx"); workbook.save("D://Program_Data//Aspose//EPPR_60761//output/EPPR_60761_882.html", SaveFormat.HTML);
@xhaixia
We have opened the following new ticket(s) in our internal issue tracking system and will deliver their fixes according to the terms mentioned in Free Support Policies.
Issue ID(s): CELLSJAVA-45294
You can obtain Paid Support Services if you need support on a priority basis, along with the direct access to our Paid Support management team.
@xhaixia,
When the formula calculation is not called, Aspose.Cells gets the original values saved in the file. So the obtained result is 64100.00. Please check the data in the file:
<c r="G40" s="25">
<f>IF((G39-G8)<0,0,IF(LEN(ROUNDUP((G39-G8),0))>2,IF(VALUE(RIGHT(ROUNDUP((G39-G8),0),2))>0,VALUE(LEFT(ROUNDUP((G39-G8),0),LEN(ROUNDUP((G39-G8),0))-2)+1&"00"),ROUNDUP((G39-G8),0)),IF(VALUE(RIGHT(ROUNDUP((G39-G8),0),2))>0,100,0)))</f>
<v>64100</v>
</c>
Would you like to explain how to create a file with different original values and formula calculated values?
Please try the following code:
Workbook workbook = new Workbook(filePath + "EPPR_60761.xlsx");
//Please call formula calculation before saving
workbook.calculateFormula();
workbook.save(filePath + "EPPR_60761_out.html", SaveFormat.HTML);