我安装了Laravel excel并创建了一个表单。我已经完成了与Laravel excel相关的所有配置。我选择并上传我的excel文件在我创建的形式,然后我得到以下错误:
PHP版本:8.1.7
Laravel版本:9.11
PHP信息
启用Zip
Zip版本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
我通过如下配置文件名解决了这个问题。
public function importPost()
{
Excel::import(new AccountStatementsImport, $request->file('file')->store('temp'));
return back();
}
在我的情况下,它显示这个错误,因为现有的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');
如果您的xlsx文件有密码保护,您必须先删除密码。否则也会报告这个错误。