我似乎在使用 PHPExcel 从 Excel 2007 工作簿中读取数据时遇到了 2 个问题:
- 没有找到文档属性;
- 单元格中的值未格式化。
样本.xlsx:
+--------+-----------+-------------+
| Office | Hr no PFU | Hr $ no PFU |
+--------+-----------+-------------+
| AA01 | 18.50 | $ 13.14 |
| BW23 | 1020.03 | $ 123.23 |
+--------+-----------+-------------+
- Hr no PFU 下面的单元格中的值已使用 2 位小数的会计进行格式化。
- Hr $ no PFU 下面的单元格中的值也已使用 2 位小数记帐进行格式化,符号 $。
- 该工作簿还具有作者、主题和标题的文档属性。
调整exampleWorkBookReader02.php(文档中提供的示例之一):
$inputFileType = 'Excel2007';
$inputFileName = './sampleData/sample.xlsx';
/** Create a new Reader of the type defined in $inputFileType **/
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
/** Load $inputFileName to a PHPExcel Object **/
$objPHPExcel = $objReader->load($inputFileName);
/** Read an array list of any custom properties for this document **/
$customPropertyList = $objPHPExcel->getProperties()->getCustomProperties();
foreach($customPropertyList as $customPropertyName) {
echo $customPropertyName,'<br />';
}
/** Read cell values **/
$sheetData = $objPHPExcel->getActiveSheet()->toArray(null, true, true, true);
var_dump($sheetData);
(顺便说一句,使用文档中的文件的原始脚本会输出自定义属性列表而没有任何值。)
现在,我只对 Excel 2007 工作簿有这个问题。所以这让我想知道我是否错过了其中一项要求,但我不这么认为:
- PHP 版本 5.5
- 默认包含的 php_zip 和 php_xml,不是吗?
- php_gd2 已启用
有没有办法检查是否缺少某些东西?