我正在使用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上运行,但不能在服务器上运行
答案 0 :(得分:0)
将getcell值更改为getcellexplicit。它转换字符。现在可以正常工作了。