jjzjj

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

coder 2024-04-19 原文

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

我正在使用 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 - 无法从其他库读取 PHPExcel 写入的行的更多相关文章

  1. ruby - 其他文件中的 Rake 任务 - 2

    我试图在一个项目中使用rake,如果我把所有东西都放到Rakefile中,它会很大并且很难读取/找到东西,所以我试着将每个命名空间放在lib/rake中它自己的文件中,我添加了这个到我的rake文件的顶部:Dir['#{File.dirname(__FILE__)}/lib/rake/*.rake'].map{|f|requiref}它加载文件没问题,但没有任务。我现在只有一个.rake文件作为测试,名为“servers.rake”,它看起来像这样:namespace:serverdotask:testdoputs"test"endend所以当我运行rakeserver:testid时

  2. ruby-on-rails - 由于 "wkhtmltopdf",PDFKIT 显然无法正常工作 - 2

    我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-

  3. ruby - 如何将脚本文件的末尾读取为数据文件(Perl 或任何其他语言) - 2

    我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚

  4. ruby-on-rails - 无法使用 Rails 3.2 创建插件? - 2

    我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby​​1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在

  5. ruby - 无法运行 Rails 2.x 应用程序 - 2

    我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby​​:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r

  6. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  7. Ruby 写入和读取对象到文件 - 2

    好的,所以我的目标是轻松地将一些数据保存到磁盘以备后用。您如何简单地写入然后读取一个对象?所以如果我有一个简单的类classCattr_accessor:a,:bdefinitialize(a,b)@a,@b=a,bendend所以如果我从中非常快地制作一个objobj=C.new("foo","bar")#justgaveitsomerandomvalues然后我可以把它变成一个kindaidstring=obj.to_s#whichreturns""我终于可以将此字符串打印到文件或其他内容中。我的问题是,我该如何再次将这个id变回一个对象?我知道我可以自己挑选信息并制作一个接受该信

  8. ruby - 无法让 RSpec 工作—— 'require' : cannot load such file - 2

    我花了三天的时间用头撞墙,试图弄清楚为什么简单的“rake”不能通过我的规范文件。如果您遇到这种情况:任何文件夹路径中都不要有空格!。严重地。事实上,从现在开始,您命名的任何内容都没有空格。这是我的控制台输出:(在/Users/*****/Desktop/LearningRuby/learn_ruby)$rake/Users/*******/Desktop/LearningRuby/learn_ruby/00_hello/hello_spec.rb:116:in`require':cannotloadsuchfile--hello(LoadError) 最佳

  9. ruby - 无法覆盖 irb 中的 to_s - 2

    我在pry中定义了一个函数:to_s,但我无法调用它。这个方法去哪里了,怎么调用?pry(main)>defto_spry(main)*'hello'pry(main)*endpry(main)>to_s=>"main"我的ruby版本是2.1.2看了一些答案和搜索后,我认为我得到了正确的答案:这个方法用在什么地方?在irb或pry中定义方法时,会转到Object.instance_methods[1]pry(main)>defto_s[1]pry(main)*'hello'[1]pry(main)*end=>:to_s[2]pry(main)>defhello[2]pry(main)

  10. ruby - 无法在 60 秒内获得稳定的 Firefox 连接 (127.0.0.1 :7055) - 2

    我使用的是Firefox版本36.0.1和Selenium-Webdrivergem版本2.45.0。我能够创建Firefox实例,但无法使用脚本继续进行进一步的操作无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055)错误。有人能帮帮我吗? 最佳答案 我遇到了同样的问题。降级到firefoxv33后一切正常。您可以找到旧版本here 关于ruby-无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055),我们在StackOverflow上找到一个类

随机推荐