Phpexcel文件:创建文件后,字符串数据类型被解析为数字

时间:2013-03-01 05:40:51

标签: php phpexcel

我使用php excel创建excel文件。我正在从MySQL数据库中获取的php数组值填充我的excel文件。我在第一列中有字符串数据类型。但是在创建excel文件之后,像0987这样的字符串将转换为987并自动对齐到单元格的右侧。我真的不想要这个excel文件的默认功能。我如何解决这个问题。任何提示/解决方案......帮助我......

2 个答案:

答案 0 :(得分:5)

或者:

// Set the value explicitly as a string
$objPHPExcel->getActiveSheet()
    ->setCellValueExplicit(
        'A1', 
        '0987', 
        PHPExcel_Cell_DataType::TYPE_STRING
    );

// Set the value as a number formatted with leading zeroes
$objPHPExcel->getActiveSheet()
    ->setCellValue('A3', 987);
$objPHPExcel->getActiveSheet()
    ->getStyle('A3')
    ->getNumberFormat()
    ->setFormatCode('0000');

请注意,在第一种情况下,我正在调用setCellValueExplicit()方法,而不是setCellValue()方法。

如果使用fromArray()方法在一个步骤中填充数据块,则后一种方法可能更容易,尤其是当您填充后可以在一个步骤中设置整个单元格块的样式所有数据。

$objPHPExcel->getActiveSheet()
    ->getStyle('A3:A123')
    ->getNumberFormat()
    ->setFormatCode('0000');

答案 1 :(得分:4)

我这样做:

$objPHPExcel->getActiveSheet()->setCellValue('A1', '="0987"')