一、安装 PhpSpreadsheet
composer require phpoffice/phpspreadsheet
二、控制器代码
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)]);
}