【问题标题】:Open excel file using PHPExcel and save it to a folder使用 PHPExcel 打开 excel 文件并将其保存到文件夹
【发布时间】:2016-09-16 10:27:26
【问题描述】:

我正在尝试制作一个在线运行的 PHP 文件(例如http://www.writephponline.com/,或者我可以使用 PUTTY)。此脚本将从链接中获取一个 excel 文件。然后它将它保存到一个文件夹(给定链接)。似乎有错误。

include 'my_link/Classes/PHPExcel.php';
$inputFileName = 'FILE_NAME';

$reader = new PHPExcel_Reader_Excel2007;
$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
$reader = PHPExcel_IOFactory::createReader($inputFileType);
$workbook =  $reader->load($file);

$objWriter = PHPExcel_IOFactory::createWriter($workbook, 'Excel2007'); 
$objWriter->save('FOLDER_NAME'); 

exit(); 

错误是:

01) 找不到类“PHPExcel_Reader_Excel2007”

更新:

我什至尝试过:

require_once('apolosiskos.co.uk/Classes/PHPExcel.php');
require_once('apolosiskos.co.uk/Classes/IOFactory.php'); 
require_once('apolosiskos.co.uk/Classes/Excel2007.php');

$fileType=PHPExcel_IOFactory::identify("FILE.xlsx");
$objReader = PHPExcel_IOFactory::createReader("Excel2007");

$objReader->setReadDataOnly(true);   
$objPHPExcel = $objReader->load("FILE.xlsx");
$objWriter->save("http://apolosiskos.co.uk/output.xlsx");

我得到了:

02) PHPExcel_IOFactory

我已经包含了源代码,但我不知道为什么它不起作用。是否有 PHPExcel.php 的公共链接以便我进行测试?

【问题讨论】:

  • 您是否为自己的代码使用任何自动加载器脚本?如果是这样,那么它可能与 PHPExcel 的自动加载器发生冲突
  • @MarkBaker 这就是我脚本中的全部内容。没有其他的。我正在尝试在线运行文件phpfiddle.org 和writephponline.com
  • 那么强硬!您无法在运行时通过远程 url 包含整个 PHPExcel,而且我不知道任何允许这样做的 PHP 库/框架
  • 像大多数/所有 PHP 库一样,PHPExcel 希望您已下载该库并将其与您的代码的其余部分放在同一服务器上
  • 如果你通过链接包含一个phar文件,你可能可以做到这一点,我想这是可能的,虽然我从未尝试过

标签: php phpexcel


【解决方案1】:

您也可以像这样读取文件;

$reader = PHPExcel_IOFactory::createReaderForFile($inputFileName);
$reader->setReadDataOnly(true);
$workbook = $reader->load($inputFileName);

除非你有特殊原因选择使用PHPExcel_Reader_Excel2007

【讨论】:

  • PHPExcel中的问题提示。它说“找不到类'PHPExcel_IOFactory'”。
  • 这可能是命名空间的结果。添加use PHPExcel_IOFactory
  • 我补充说:require_once('apolosiskos.co.uk/Classes/PHPExcel.php'); require_once('apolosiskos.co.uk/Classes/IOFactory.php'); require_once('apolosiskos.co.uk/Classes/Excel2007.php');
  • 我的意思是在需要适当的文件后明确使用命名空间PHPExcel_IOFactory。在您的类/方法声明之前的 require_once 语句之后添加语句 use PHPExcel_IOFactory
【解决方案2】:

您不能从服务器要求完全限定的 php 文件,它需要一个文件。

现在您的要求只是获取您包含的文件的输出,因为它正在向该 URL 发出请求。

【讨论】:

猜你喜欢
  • 2019-04-30
  • 1970-01-01
  • 2015-02-16
  • 1970-01-01
  • 2014-02-26
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 2012-05-11
相关资源
最近更新 更多