最新バージョンの Laravel-Excel (3.1.9)を使用してExcelファイルを配列に変換しようとしています
以下のコードはファイルをダウンロードします:
return Excel::download(new SalesOrderExport('columns'),'test.xlsx')
しかし、配列のみを取得するように変換する必要があります。このExcelデータをデータベースに保存したくありません。
以下のコードを試してみましたが、バージョン3ではload
メソッドを使用できないため、機能しませんでした。
Excel::load($request->file('sampledata'), function ($reader) {
return response()->json($reader);
});
Excelから配列を取得する方法についての考えを共有してください。
これが私がこれを達成した方法です:
私のUsersImportクラス:名前空間App\Imports;
use App\User;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\Importable;
class UsersImport implements ToModel
{
use Importable;
public function model(array $row)
{
return new User([
'id' => $row[0]
]);
}
}
そしてコントローラーで:
$imported_users = (new UsersImport)->toArray(request()->file('Excel_file'))[0];
お役に立てば幸いです。