我使用php excel创建excel文件。我正在填充我的excel文件从php数组值从MySQL数据库获取。我有字符串数据类型在第一列。但是在创建excel文件之后,像0987这样的字符串被转换为987,并自动对齐到单元格的右侧。我真的不想要excel文件的这个默认功能。我如何克服这个问题?任何提示/解决方案……帮帮我……
我是这样做的:
$objPHPExcel->getActiveSheet()->setCellValue('A1', '="0987"')
// 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()方法。
如果您使用frommarray()方法在一步中填充数据块,那么后一种方法可能更容易,特别是当您填充完所有数据后,您可以在一步中设置整个单元格块的样式。
$objPHPExcel->getActiveSheet()
->getStyle('A3:A123')
->getNumberFormat()
->setFormatCode('0000');