【问题标题】:Laravel excel import could not find zip errorLaravel excel 导入找不到 zip 错误
【发布时间】:2023-02-07 16:40:31
【问题描述】:
我安装了 Laravel excel 并创建了一个表单。我已经完成了 Laravel excel 相关的所有配置。我选择并以我创建的表格上传我的 excel 文件,然后我收到以下错误。
PHP版本:8.1.7
Laravel 版本:9.11
PHP 资料
启用压缩
压缩版本 1.19.5
Libzip 标头版本 1.8.0
Libzip 库版本 1.9.0
Could not find zip member zip:///Users/dev/Sites/exaan/storage/framework/cache/laravel-excel/laravel-excel-s3kqNFqinyEPG6SJRC6c3HA1qKfCW0Bk.xlsx#_rels/.rels
【问题讨论】:
标签:
php
laravel
phpexcel
laravel-9
【解决方案1】:
我通过如下配置文件名解决了这个问题。
public function importPost()
{
Excel::import(new AccountStatementsImport, $request->file('file')->store('temp'));
return back();
}
【解决方案2】:
在我的例子中,它显示了这个错误,因为现有的 Excel 是空的。只要你填满一个单元格,它就会工作。
use PhpOfficePhpSpreadsheetSpreadsheet;
use PhpOfficePhpSpreadsheetWriterXlsx;
use PhpOfficePhpSpreadsheetIOFactory;
$inputFileType = 'Xlsx';
$inputFileName = '../storage/app/templates/template.xlsx';
/** Create a new Reader of the type defined in $inputFileType **/
$reader = PhpOfficePhpSpreadsheetIOFactory::createReader($inputFileType);
/** Load $inputFileName to a Spreadsheet Object **/
$spreadsheet = $reader->load($inputFileName);
$sheet = $spreadsheet->getActiveSheet();
//Edit the cell values
$sheet->setCellValue('A1', 'Hello');
$sheet->setCellValue('B2', 'World!');
$writer = new Xlsx($spreadsheet);
$writer->save('../storage/app/temp/world4.xlsx');