1、安裝 PhpSpreadsheet
composer require phpoffice/phpspreadsheet
2、控制器代碼
public function importExcel()
{
$file = $_FILES['file']['tmp_name'];
$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xlsx');
$spreadsheet = $reader->load($file);
$sheet = $spreadsheet->getActiveSheet();
$highestRow = $sheet->getHighestRow();
$successLog = [];
$failLog = [];
for ($i = 2; $i <= $highestRow; $i++) {
$name = $sheet->getCellByColumnAndRow(3,$i)->getValue();
$age = $sheet->getCellByColumnAndRow(4,$i)->getValue();
$sex = $sheet->getCellByColumnAndRow(5,$i)->getValue();
$room = $sheet->getCellByColumnAndRow(6,$i)->getValue();
$data = [
'name' => $name,
'age' => $age,
'sex' => $sex,
'room_id' => $room,
'create_time' => date('Y-m-d H:i:s', time())
];
$insert = Db::name('student')->insert($data);
if ($insert) {
$successLog[] = '第'.$i.'條,插入成功';
} else {
$failLog[] = '第'.$i.'條,插入失敗';
}
}
return json(['success' => count($successLog), 'fail' => count($failLog)]);
}