为什么 PhpSpreadSheet 会像小数一样读几千?

Why is PhpSpreadSheet reading thousands like decimals?

我正在尝试使用以下方法从 .xlsx 文件的公式中读取数字:

$value1 = number_format($spreadsheet->getActiveSheet()->getCell('T63')->getOldCalculatedValue(), 0);

然后,我想将该值插入 mysql 数据库,但我不能,原因如下。例如,如果单元格 T63 的值为 1234,则 getOldCalculatedValue() returns 1,234 和 mysql 会将其读取为双精度值。所以我需要在没有逗号的情况下获得该值。有什么模式可以做吗?

PD:我已经探索了所有这些,但它对我不起作用:

$spreadsheet->getActiveSheet()->getStyle('T63')->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT);

我也试过这个:

$value1 = str_replace(',', '.', number_format($spreadsheet->getActiveSheet()->getCell('T63')->getOldCalculatedValue(), 0));

您可以删除 number_format 以检索不带分隔符的号码:

例如变化

// output: 1,234
$value1 = number_format($spreadsheet->getActiveSheet()->getCell('T63')->getOldCalculatedValue(), 0);

// output: 1234
$value1 = $spreadsheet->getActiveSheet()->getCell('T63')->getOldCalculatedValue();