1

我正在使用 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

如何解决这个问题呢?

4

3 回答 3

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");
于 2013-07-19T14:38:06.727 回答
1

你需要像这样设置行的属性

$objPHPExcel->getActiveSheet()->getStyle('A0')->getNumberFormat()->setFormatCode("@");

但我不知道你需要什么格式,只需寻找 mannul

于 2013-07-19T14:37:41.490 回答
1

论坛上好像有解决方案:http: //phpexcel.codeplex.com/discussions/31240

于 2013-07-19T14:36:30.367 回答