把方法直接写在公共父级控制器
composer require phpoffice/phpspreadsheet
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
public function import_excel()
{
$file = request()->file('file');
if(empty($file)){
return [];
}
// 移动到框架应用根目录/storage/public 目录下,并修改文件名为时间戳
// $savename = \think\facade\Filesystem::disk('public')->putFile('files', $file, 'time');
$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xlsx');
$spreadsheet = $reader->load($file);
$worksheet = $spreadsheet->getActiveSheet();
$highestRow = $worksheet->getHighestRow();
$highestColumn = $worksheet->getHighestColumn();
$data = [];
for ($row = 1; $row <= $highestRow; $row++) {
for ($column = 'A'; $column <= $highestColumn; $column++) {
$data[$row][$column] = $worksheet->getCell($column . $row)->getValue();
}
}
$list = [];
foreach ($data as $item) {
$list[] = array_values($item);
}
return $list;
}