php - 无法从其他库读取 PHPExcel 写入的行

标签 php phpexcel

我知道这里不适合询问这个具体的模糊问题,但也许有人非常了解这个库可以启发我。事情是这样的:

我正在使用 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/

相关文章:

php - Codeigniter 的面向对象方案

php - 如何从本地主机使用 php 发送电子邮件

php - 为什么 PHP 不使用其默认库中的对象?

php - 在php中按特定值增加数字等字母

php - 使用 PHPExcel 导出时,MySQL 数据仅在一列中导出到 Excel

phpexcel - 如何使用PHPExcel添加下拉列表控件

php - 使用 PHPExcel 按行和列将 Excel 中的单元格合并在一起

PHP:通过可变变量设置 session 变量

PHP 请求 : worker fails with "MySQL server has gone away"

PHP Excel 向带有特殊字符的字符串返回 false