簡體   English   中英

Laravel Excel,文件導入拋出“ZipArchive::getFromName(): Invalid or uninitialized Zip object”

[英]Laravel Excel, file import throws “ZipArchive::getFromName(): Invalid or uninitialized Zip object”

我正在使用Laravel excel導入標題和一些記錄。

使用這種方法,我應該能夠獲得標題:

$headings = (new HeadingRowImport)->toArray($myFile);

如果$myFile是 CSV 就可以了; 但是如果我嘗試使用 XLS 或 XLSX(使用有效的 Mimetypes: application/vnd.ms-excelapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet ,我會遇到這樣的問題:

ZipArchive::getFromName(): 
Invalid or uninitialized Zip object {"exception":"[object] (ErrorException(code: 0): 
ZipArchive::getFromName(): Invalid or uninitialized Zip object at 
/var/www/app/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx.php:308)

[stacktrace]
#0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'ZipArchive::get...', '/var/www/app/ve...', 308, Array)
#1 /var/www/app/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx.php(308): ZipArchive->getFromName('_rels/.rels', 0, 1)
#2 /var/www/app/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx.php(2019): PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx->getFromZipArchive(Object(ZipArchive), '_rels/.rels')
#3 /var/www/app/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx.php(343): PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx->getWorkbookBaseName(Object(ZipArchive))
#4 /var/www/app/vendor/maatwebsite/excel/src/Reader.php(229): PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx->load('/tmp/laravel-ex...')
#5 /var/www/app/vendor/maatwebsite/excel/src/Reader.php(215): Maatwebsite\\Excel\\Reader->readSpreadsheet()

我試圖找到相關的錯誤,但我只找到了 PhpExcel 或 PhpSpreadsheet,例如:

而且我無法從他們那里找到有用的解決方法。 有沒有人遇到過這個問題,你是如何解決的?

我的 package 版本:

  • "php": "^7.1.3",
  • “laravel/框架”:“5.8.*”,
  • "maatwebsite/excel": "^3.1",

請注意,我的文件具有read權限,因為它是644 ,我可以使用fopen($myFile, 'r')打開文件

似乎他們已經進行了一些更新,並且3.1.19版本解決了這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM