无法在 PHPExcel 中格式化数字

Can't format number in PHPExcel

我正在使用 PHPExcel 打印一些金额,我需要它们在逗号后有 4 个小数,但我想删除任何尾随零。比如我的输入是:

 Input: 11,1230 => Wanted output: 11,123
 Input: 0,0123  => Wanted output: 0,0123
 Input: 8,3200  => Wanted output: 8,32
 Input: 44,0000 => Wanted output: 44     <--error is here

问题是我无法去掉 44,0000 的尾随逗号,它打印为 44,

我正在使用以下命令:

$activeSheet->getStyle("K10")->getNumberFormat()->setFormatCode('€ ####0.####');

所有数字都按预期打印,除了那些没有有效小数值的数字,例如 44,0000。有什么想法吗?

编辑:我知道我可以使用 MS Excel 来实现这一点,方法是使用这些按钮

但我更喜欢 PHP 解决方案

我认为您需要 excel 的解决方案,因为您的最终结果将从 excel sheet 中可见,并且您的要求似乎仅使用数字格式是不可能的。我的建议是从 PHPExcel 添加条件数字格式。 Here 显示如何使用 excel。

您可能必须覆盖 PHPExcel 类。

也许你打算使用

€ ####0.0000

€ ####0.0###

而不是

€ ####0.####

# 告诉 MS Excel 仅在必要时在该位置显示数字,而 0 告诉 MS Excel 始终在该位置显示数字(即使那个数字只是一个 0

但是如果您使用 .####,MS Excel 将始终显示小数点分隔符,即使后面没有要显示的数字,除非您使用 [=17 这样的公式的条件格式=]