使用 PHP 从 URL 打开 XLS 文件并将其保存在变量中


Open XLS-File from URL with PHP and save it in variable

有一个报告,服务器在我的内联网中自动创建。

我可以通过这样的网址访问它并下载它:

http://www1.intranet.com/reportingtool.asp?settings=var&export = ok

我想把它和PHPExcel一起使用。

$objPHPExcel = PHPExcel_IOFactory::load("file.xls");

当我使用网址.xls swop 文件时,它不起作用。

我可以使用哪种替代方法来避免通过手动下载 excel 文件并在代码中写入文件名来避免该步骤?

你不能...

要解析 xls 文件,PHPExcel 需要能够在从 OLE 流读取数据时在文件中前后移动文件指针;对于通过 url 检索的文件,这不是一个选项,只有服务器文件系统上物理上可用的文件。

解决方法(下载到临时文件):

$url = 'http://www1.intranet.com/reportingtool.asp?settings=var&export=ok';
$tmpfname = tempnam(sys_get_temp_dir());
file_put_contents(
    $tmpfname,
    file_get_contents($url)
);
$objPHPExcel = PHPExcel_IOFactory::load($tmpfname);

尽管之后您可能需要手动删除$tmpfname