我需要在Excel中显示两个小数位(xlsx).我正在使用PHPExcel.在PHP中,我可以使用类似下面的内容来仅显示指定的小数步数.
echo sprintf("%0.2f", $row['price']);
Run Code Online (Sandbox Code Playgroud)
它总是显示两位小数,即使值包含,即如果值没有小数点$row['price']是1500,它会响应1500.00.我需要为excel写相同的值.我试过了
$sheet->setCellValue("A1", sprintf("%0.2f", $row['price']));
Run Code Online (Sandbox Code Playgroud)
但它显示1500而不是显示1500.00(因为Excel自动假定它是一个数值,小数点后的部分,即.00在这种情况下被截断).
我也试过以下
$sheet->getStyle("A1")->getNumberFormat()->setFormatCode('0.00');
Run Code Online (Sandbox Code Playgroud)
但它不足以实现指定的目标.
如何(始终)使用PHPExcel在Excel中显示指定的小数位数?
Mar*_*ker 28
$sheet->getStyle("A1")->getNumberFormat()->setFormatCode('0.00');
Run Code Online (Sandbox Code Playgroud)
应该工作,只要单元格A1中的值是一个数字而不是格式化的字符串...不要尝试使用sprintf强制Excel格式化,只需使用格式代码.
小智 5
格式化为带逗号的数字。假定该值不超过9位数字。
$sheet->getStyle("A1")->getNumberFormat()->setFormatCode('###,###,###.##');
Run Code Online (Sandbox Code Playgroud)