【问题标题】:Store large number in a cell with PHPExcel使用 PHPExcel 在单元格中存储大量数字
【发布时间】:2016-12-01 17:19:15
【问题描述】:

我需要用 PHPExcel 在一个单元格中存储一个 24 位数字。 我已经阅读了一些关于此的教程。但是问题依然存在……

代码如下:

$objPHPExcel->getActiveSheet()->getStyle('A2')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
$objPHPExcel->getActiveSheet()->SetCellValue('A2', '680540101947000270348604');
$objPHPExcel->getActiveSheet()->SetCellValue('C2', '100');

它应该存储整个数字而不做任何更改。但是当我打开文件时,它的存储方式如下:

6.80540101947E23

我也尝试将其另存为字符串并且有效。但是我必须把这个文件交给银行,所以他们的系统太笨了,不接受数字作为字符串……我猜他们需要计算。

有什么想法吗?

【问题讨论】:

    标签: php excel phpexcel


    【解决方案1】:

    这对我有用:

    // Set the value explicitly as a string
    $objPHPExcel->getActiveSheet()->setCellValueExplicit('A2', '680540101947000270348604', PHPExcel_Cell_DataType::TYPE_STRING);
    

    【讨论】:

    • 根据问题的最后几行,有没有办法将整个数字保存为TEXT?
    • 是的,我做到了。您的答案中的代码相同。这会将输入转换为字符串,但我需要它是文本。
    【解决方案2】:

    首先需要将单元格格式设置为文本才可以。

    $objPHPExcel
        ->getActiveSheet()
        ->getStyle('A')
        ->getNumberFormat()
        ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
    

    【讨论】:

      猜你喜欢
      • 2011-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-12
      • 2021-12-26
      相关资源
      最近更新 更多