0

我想用 Phpexcel 读取一个 excel 文件并将数据插入数据库,我可以读取所有内容并且它工作正常但是当我看到我的数据库保存的所有电话号码没有前导零时,我无法通过 Phpexcel 读取前导零的电话号码像这样:0212365498 保存为 212365498

4

1 回答 1

4

如果您从 CSV 文件导入,您可以使用值绑定器来保留任何前导零。这就是我实施修复的方式。

创建了一个名为“BindValueAsString”的类

class BindValueAsString extends PHPExcel_Cell_DefaultValueBinder implements PHPExcel_Cell_IValueBinder
{
    public function bindValue(PHPExcel_Cell $cell, $value = null)
    {
        $cell->setValueExplicit($value, PHPExcel_Cell_DataType::TYPE_STRING);
        return true;
    }
} 

在加载 CSV 文件之前设置值绑定器

$objReader    = PHPExcel_IOFactory::createReader('CSV');
PHPExcel_Cell::setValueBinder(new BindValueAsString());
$objPHPExcel  = $objReader->load('file.csv');
$worksheet    = $objPHPExcel->getActiveSheet();
$dataAsString = $worksheet->toArray();

就是这样。或者您可以升级到 1.8.1 版本,此处修复了前导零

于 2015-09-16T21:43:45.747 回答