有一个报告,服务器会自动在我的Intranet中创建。
我可以访问它并通过这样的网址下载:
http://www1.intranet.com/reportingtool.asp?settings=var&export = ok
我想在PHPExcel中使用它。
$objPHPExcel = PHPExcel_IOFactory::load("file.xls");
当我使用网址转换 file.xls 时,它无效。
我可以使用哪种替代方法来手动下载excel文件并在代码中编写文件名来避免这一步骤?
答案 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