我正在使用PHPExcel在xls文件中保存多维数组数据
这是我的代码:
$arr = array(
array("01", "02", "03"),
array("04", "05", "06"),
);
// include PHPExcel library
$objPHPExcel = new PHPExcel();
$objPHPExcel->getActiveSheet()->fromArray($arr);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save("file.xls");
我的问题是在我的xls文件中删除了启动空值。例如,保存时不是01
,而是保存为1
。
如何解决这个问题?
答案 0 :(得分:2)
如果您希望带有数字值的字符串保留前导零,那么您有两个选择: 使用将其写为字符串 $ objPHPExcel-> getActiveSheet() - > getCell( 'A1') - > setValueExplicit( '01', PHPExcel_Cell_DataType :: TYPE_STRING ); (PHPExcel_Cell_DataType :: TYPE_STRING是默认值,因此您实际上不必指定该参数)
或允许将其写为数字,然后设置格式掩码以使用前导零显示它
$objPHPExcel->getActiveSheet()->getStyle('A1')
->getNumberFormat()
->setFormatCode("00");
修改强>
您可以将样式应用于一系列单元格,而不仅仅是单个单元格
$arr = array(
array("01", "02", "03"),
array("04", "05", "06"),
);
// include PHPExcel library
$objPHPExcel = new PHPExcel();
$objPHPExcel->getActiveSheet()->fromArray($arr);
$objPHPExcel->getActiveSheet()->getStyle('A1:C2')
->getNumberFormat()
->setFormatCode("00");
答案 1 :(得分:1)
论坛上似乎有一个解决方案: http://phpexcel.codeplex.com/discussions/31240
答案 2 :(得分:1)
你需要像这样设置行的属性
$objPHPExcel->getActiveSheet()->getStyle('A0')->getNumberFormat()->setFormatCode("@");
但我不知道你需要什么格式,只需找到mannul