通过phpexcel读取带有前导零的电话号码

时间:2013-03-06 07:48:11

标签: php phpexcel

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

1 个答案:

答案 0 :(得分:3)

如果您要从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,其中前导零被修复here