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

时间:2013-10-08 12:50:29

标签: php file download phpexcel

有一个报告,服务器会自动在我的Intranet中创建。

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

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

我想在PHPExcel中使用它。

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

当我使用网址转换 file.xls 时,它无效。

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

1 个答案:

答案 0 :(得分:1)

你不能......

要解析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