首页 > 解决方案 > 如何在用电子表格(),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);

但它不工作

标签: phpspreadsheet

解决方案


CSV 文件没有格式,这取决于读取它们的程序以按照他们的意愿解释事物。如果您想以某种方式格式化数字,则必须将值存储为您可能不想这样做的字符串。另一种方法是使用像 Excel 这样支持格式化的文件格式。


推荐阅读