使用 Aspose 库将分数作为文本插入 Excel

Insert fraction as text to Excel with Aspose library

我需要生成一些值是分数的列。在这种情况下 Excel 将此值显示为计算值甚至日期(为了准备屏幕截图我手动添加 space)。

我认为解决方案是应用函数:

=TEXT(value, \"0/#0\")

那么,我的问题是如何使用 java Aspose 库将函数应用于单元格?这是最好的解决方案吗?

好吧,这是 MS Excel 将小数值转换为 DateTime 或数字(计算)值的行为。您可以通过将数字格式应用于指定的单元格来轻松应对它。请参阅带有注释的示例代码,供您参考如何使用 Aspose.Cells for Java 在单元格中显示分数值。另外,请参阅有关如何将公式应用于单元格的代码: 例如 示例代码:

 Workbook workbook = new Workbook();
//Get the first worksheet (default sheet)    
Worksheet worksheet = workbook.getWorksheets().get(0);
Cells cells = worksheet.getCells();

//Input fraction values to the cells.
Cell cell1 = cells.get("A1");
double val1 = 1/2d;
cell1.putValue(val1);

Cell cell2 = cells.get("A2");
double val2 = 19/4d;
cell2.putValue(val2);

Cell cell3 = cells.get("A3");
double val3 = 5/3d;
cell3.putValue(val3);


//Create a style object.
Style style = workbook.createStyle();
//Set the numbers formatting
style.setCustom("# ?/?");

//Apply style to the cells.
cell1.setStyle(style);
cell2.setStyle(style);
cell3.setStyle(style);


//Apply formula to a cell
Cell cell4 = cells.get("B1");
cell4.setFormula("=TEXT(A1,\"0/#0\")");

//Even you may directly put numeric value as text value.
Cell cell5 = cells.get("C1");
cell5.putValue("1/2", false);
//Note: if you double cliked in the cell, it will be converted to numeric DateTime notations.


//Save the file
workbook.save("f:\files\out1.xls");

注意:我在 Aspose 担任支持开发人员/传播者。