导出 xls 文件对于 php 中的导入时间不可读
Posted
技术标签:
【中文标题】导出 xls 文件对于 php 中的导入时间不可读【英文标题】:Export xls file not readable for import time in php 【发布时间】:2015-07-31 06:19:21 【问题描述】:我正在使用下面的代码导出 xls 文件 abd 它是工作文件,但我的问题是当我尝试使用 require "XLS/Excel/reader.php" 库读取文件时,它返回错误 "文件不可红色"。 当我保存为导出 xls 文件并尝试导入它时。
function xlsBOF() echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0); function xlsEOF() echo pack("ss", 0x0A, 0x00); function xlsWriteNumber($Row, $Col, $Value) echo pack("sssss", 0x203, 14, $Row, $Col, 0x0); echo pack("d", $Value); function xlsWriteLabel($Row, $Col, $Value) $L = strlen($Value); echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L); echo $Value; // prepare headers information header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/xls"); header("Content-Disposition: attachment; filename=test.xls"); header("Content-Transfer-Encoding: binary"); header("Pragma: no-cache"); header("Expires: 0"); // start exporting xlsBOF(); xlsWriteLabel(0, 0, "id"); xlsWriteLabel(0, 1, "name"); xlsWriteLabel(0, 2, "email"); xlsWriteNumber(1, 0, 230); xlsWriteLabel(1, 1, "John"); xlsWriteLabel(1, 2, "john@yahoo.com"); xlsWriteNumber(2, 0, 350); xlsWriteLabel(2, 1, "Mark"); xlsWriteLabel(2, 2, "mark@yahoo.com"); xlsEOF();
【问题讨论】:
【参考方案1】:使用http://phpexcel.codeplex.com/ 库导出它会正常工作。
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', 'Hello');
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B2', 'world!');
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('C1', 'Hello');
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('D2', 'world!');
【讨论】:
以上是关于导出 xls 文件对于 php 中的导入时间不可读的主要内容,如果未能解决你的问题,请参考以下文章