我想将Excel文件导入数据库。我还在学习如何导入Excel类型的文件。
我还希望值为null
,例如如果Excel中的日期值为null,则不要将该行添加到数据库。
public function actionImport() {
$inputFile = 'uploads/voucher.xls';
try {
$inputFileType = \PHPExcel_IOFactory::identify($inputFile);
$objReader = \PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($inputFile);
} catch (Exception $e) {
die('error');
}
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
for ($row = 1; $row <= $highestRow; $row++) {
$rowData = $sheet->rangeToArray('A'.$row.':'.$highestColumn.$row, NULL, TRUE, FALSE);
if ($row == 1) {
continue;
}
$voucher = new voucher();
$voucher->kode_voucher = $rowData[0][0];
$voucher->tanggal = $rowData[0][1];
$voucher->status = $rowData[0][2];
$voucher->save();
}
}
答案 0 :(得分:0)
只需在验证模型中添加验证规则即可检查空值。然后使用
if($voucher->validate()) {
$voucher->save(false);
}