我知道这里不适合询问这个具体的模糊问题,但也许有人非常了解这个库可以启发我。事情是这样的:
我正在使用 PHPExcel 在现有 Excel 文件上编写 Excel5。我需要将该 Excel 上传到 Zoom 网站,以便它可以为我提供跟踪号码列表。但是,出于某种原因,他们用来读取上传的 Excel 文件的库无法读取 PHPExcel 写入的行,到目前为止我发现的唯一解决方案是使用 MS Excel 手动将动态生成的 Excel 的内容复制到另一个文档2007.
换句话说,Zoom 网站可以读取 Excel 原生写入的行,但不能读取 PHPExcel 写入的行。我的文件只有一张纸,我可以用 Excel 2007 打开它没有问题。
即使我手动向模板添加一些行,然后使用 PHPExcel 添加更多行,Zoom 也会读取我手动编写的行,而不是 PHPExcel 编写的行。
我是这样做的:
// Starting with the PHPExcel library
$this->load->library('PHPExcel');
$this->load->library('PHPExcel/IOFactory');
$template_file = 'zoom_tracking_template.xls';
$i = 3;
$objReader = IOFactory::createReader('Excel5');
$objPHPExcel = $objReader->load($template_file);
$objPHPExcel->setActiveSheetIndex(0);
// Fetching ML payments
foreach($payments as $row)
{
$objPHPExcel->getActiveSheet()->setCellValue('A'.$i, 'VANESSA NEISZER');
$objPHPExcel->getActiveSheet()->setCellValue('B'.$i, '02127616116');
$objPHPExcel->getActiveSheet()->setCellValue('C'.$i, '1ER PISO MINITIENDAS 199 BLVD SABANA GRANDE, CRUCE C / CALLE NEGRIN');
$objPHPExcel->getActiveSheet()->setCellValue('D'.$i, $row->mailing_city);
$objPHPExcel->getActiveSheet()->setCellValue('E'.$i, $row->mailing_name);
$objPHPExcel->getActiveSheet()->setCellValue('F'.$i, $row->mailing_name);
$objPHPExcel->getActiveSheet()->setCellValue('G'.$i, $row->mailing_personal_id);
$objPHPExcel->getActiveSheet()->setCellValue('H'.$i, $row->mailing_phone);
$objPHPExcel->getActiveSheet()->setCellValue('I'.$i, $row->mailing_address1.' '.$row->mailing_address2);
$objPHPExcel->getActiveSheet()->setCellValue('J'.$i, $row->nickname);
$objPHPExcel->getActiveSheet()->setCellValue('K'.$i, '1');
$objPHPExcel->getActiveSheet()->setCellValue('L'.$i, '0.3');
$objPHPExcel->getActiveSheet()->setCellValue('M'.$i, 'M');
$objPHPExcel->getActiveSheet()->setCellValue('N'.$i, 'PRODUCTO');
$objPHPExcel->getActiveSheet()->setCellValue('O'.$i, '0');
$i++;
}
$objPHPExcel->setActiveSheetIndex(0);
$objWriter = IOFactory::createWriter($objPHPExcel, 'Excel5');
// Sending headers to force the user to download the file
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="Envios'.date('dMy').'.xls"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');
我不知道他们使用什么 PHP 库来读取 Excel 文件,而且我敢肯定,如果我问他们,他们也不会告诉我。我知道他们使用 PHP,并且他们的库只能读取 Excel 2003 文件,但是,我不知道为什么他们不能读取我的文件,但他们可以读取在 MS Excel 上手动编写的其他文件。
我将不胜感激任何我可以尝试的线索、想法或建议。
最佳答案
PHPExcel 的主要开发人员正在研究这个问题(以及其他问题),介于尝试找到一份新的日常工作和过上自己的生活之间。我不熟悉 zoom 网站,也不熟悉他们使用的软件。 PHPExcel BIFF8 文件可以被 Excel、OOCalc 和 Gnumeric 读取而不会出现错误……但有几个问题会浮现在脑海中。
- 什么版本的 PHPExcel?
- 是否有任何数据包含 UTF-8 字符?
- 模板工作表中是否有任何公式?
- 如果有,它们是什么?
关于php - 无法从其他库读取 PHPExcel 写入的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3142859/