2

试图从 url 加载一个 .xlsx 文件,但它给出了错误,例如,

Fatal error: Uncaught InvalidArgumentException: File 
"http://localhost/test/csvfile/samplesms.xlsx" does not exist. in
D:\wamp\www\test\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Shared\File.php on line 137

加载文件如下,

 $filename = "http://localhost/test/csvfile/samplesms.xlsx";
 $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xlsx');
 $reader->setReadDataOnly(TRUE);
 $spreadsheet = $reader->load($filename);

文件已经在给定位置。

4

2 回答 2

5

phpoffice/电子表格不支持从 URL 加载。

于 2018-03-20T11:49:52.643 回答
5

您可以使用php_get_contentcurl加载文件内容并将其临时保存在本地,然后加载文件的本地版本

$filename = "http://localhost/test/csvfile/samplesms.xlsx";

$file = file_get_contents($filename);
$inputFileName = 'tempfile.xlsx';
file_put_contents($inputFileName, $file);
/** Load $inputFileName to a Spreadsheet Object  **/
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName);
于 2019-09-13T15:19:56.830 回答