phpexcel在单元格范围上设置数据类型

Ash*_*ley 21 php phpexcel

使用PHPExcel,我正在使用:

$workSheet->fromArray($array);

设置我的数据.但是,需要将一列设置为字符串(前导零的数字,如果未设置为字符串,前导零将被截断).如果我没有使用该fromArray方法,我可以使用设置数据类型PHPExcel_Worksheet::setCellValueExplicit().

但是,我想使用一系列列来完成此操作.理想情况下是这样的:

$worksheet->getCell('A1:A50')->setDataType(PHPExcel_Cell_DataType::TYPE_STRING);
Run Code Online (Sandbox Code Playgroud)

但是看一下代码,getCell不会允许一个范围,只有一个单元格.我怎样才能做到这一点?

Mar*_*ker 12

目前PHPExcel中没有允许您为一系列单元格设置数据类型的方法,仅适用于单个单元格.

有两个选项......更难的是编写一个自定义的Cell Value Binder,当fromArray()设置单元格值时,它会自动将这些单元格的数据类型设置为字符串.

您可以做的事情(并且更容易)是将数据类型保留为数字,将值保留为数字,但设置数字格式掩码,告诉Excel显示带有前导零的数字.

$objPHPExcel->getActiveSheet()->getStyle('L3:N2048')
                              ->getNumberFormat()->setFormatCode('0000');
Run Code Online (Sandbox Code Playgroud)