1

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

4

2 回答 2

7

我这样做:

$objPHPExcel->getActiveSheet()->setCellValue('A1', '="0987"')
于 2013-03-01T06:22:52.233 回答
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');
于 2013-03-01T07:28:07.143 回答