我有一个非常规要求的通用问题。
我必须将Excel文件转换为PDF,并且必须保留excel文件中每个单元格的所有格式都保留原样。不允许更改。就像单元格格式化为货币/会计一样,默认情况下,负值显示在圆括号中,例如(8.5),但从Java读取时,值为-8.5。对于数字单元格,值将为0,但显示为连字符( - )。 同样,对于其他格式类型,显示也会更改。
由于单元格具有不同的单元格类型,并且单元格中的实际值是根据单元格上应用的格式显示的,如何在输出PDF文件中复制它?
最新我了解到DataFormatter在我的案例中非常有用。所以我在下面写了代码
DataFormatter df = new DataFormatter();
Cell c = row.getCell(i);
CellStyle style = c.getCellStyle();
cellvalue = df.formatRawCellContents(row.getCell(i).getNumericCellValue(), style.getDataFormat(), style.getDataFormatString());
其中一个单元格具有格式 ($ *#,## 0.00 ); ($ *(#,## 0.00); ($ * “ - ”?? ); (@_)(0x2c)。如果单元格中的值为0,那么理想情况下它应显示“ - ”,但它仅显示为0.0。 / p>
任何帮助都将不胜感激。