如何使用PHPExcel在单元格中存储大量数字?

时间:2019-01-02 12:36:50

标签: php html

我正在使用Phpexcel类将文件转换为xlsx文件。在此文件中,具有较大的值,如1262166000008972,但在转换xlsx文件后,它显示 1262166000009000。 我尝试这些选项 例如:

$objPHPExcel->getActiveSheet()->setCellValueExplicit('G6:G1000', '', PHPExcel_Cell_DataType::TYPE_STRING);

我尝试使用这些绑定值

class PHPExcel_Cell_MyColumnValueBinder extends 
  PHPExcel_Cell_DefaultValueBinder implements PHPExcel_Cell_IValueBinder
  {
protected $stringColumns = [];

public function __construct(array $stringColumnList = []) {
    // Accept a list of columns that will always be set as strings
    $this->stringColumns = $stringColumnList;
}

public function bindValue(PHPExcel_Cell $cell, $value = null)
{
    // If the cell is one of our columns to set as a string...
    if (in_array($cell->getColumn(), $this->stringColumns)) {
        // ... then we cast it to a string and explicitly set it as a string
        $cell->setValueExplicit((string) $value, PHPExcel_Cell_DataType::TYPE_STRING);
        return true;
    }
    // Otherwise, use the default behaviour
    return parent::bindValue($cell, $value);
}

}

 PHPExcel_Cell::setValueBinder(new PHPExcel_Cell_MyColumnValueBinder(['G']));

它可以在localhost上运行,但不能在服务器上运行

1 个答案:

答案 0 :(得分:0)

将getcell值更改为getcellexplicit。它转换字符。现在可以正常工作了。