php - 如何在用电子表格(),php生成的.csv文件中显示带小数的整数?
问题描述
目前我用这个函数生成 .csv ,基本上我只是将它传递给要在 .csv 文件中创建的行的数组
public function make_csv_file($data)
{
$spreadsheet = new Spreadsheet();
//create csv file
$sheet = $spreadsheet->getActiveSheet();
$sheet->fromArray($data, null, 'A1');
$writer = new Csv($spreadsheet);
$writer->setDelimiter(',');
$writer->setEnclosure('');
$writer->setLineEnding("\r\n");
$writer->setSheetIndex(0);
header('Content-Type: application/csv; charset=UTF-8');
header('Content-Disposition: attachment; filename="report.csv"');
return $writer;
}
正如您将看到的数量 113033,如果可以这样,我需要将其显示为 113033.00 和 555.13。细节是,如果它作为 113033.00 发生在它的安排中,但图书馆将它传递给 113033
我试过了:
$sheet->getStyle('M1')
->getNumberFormat()
->setFormatCode(NumberFormat::FORMAT_NUMBER_00);
但它不工作
解决方案
CSV 文件没有格式,这取决于读取它们的程序以按照他们的意愿解释事物。如果您想以某种方式格式化数字,则必须将值存储为您可能不想这样做的字符串。另一种方法是使用像 Excel 这样支持格式化的文件格式。