Импорт Excel в БД с phpexcel.Когда у меня есть таблица Excel с измененной высотой строки, она импортирует всю пустую строку.
1) Решением является осторожность и отсутствие каких-либо изменений в строках, которые я не хочу импортировать.2) Удалить после импорта из БД, где поле A (varchar) пусто, но id будет автоматически инкрементно, так что мой идентификатор перейдет на крышу после нескольких использований.3) Попробуйте отфильтровать в phpexcel, когда значения столбца пустые.4) Попробуйте отфильтровать массив перед вставкой в базу данных, например, где строка A - пустой массив удаления.этот, я считаю, наиболее перспективный.
КОНТРОЛЛЕР
$objPHPExcel = PHPExcel_IOFactory::load($path);
$objPHPExcel->getSheetCount();
$worksheet = $objPHPExcel->getSheet(0);
{
$highestRow = $worksheet->getHighestRow();
$highestColumn = $worksheet->getHighestColumn();
// return $worksheet->rangeToArray("B1:$highestColumn$highestRow", null, true, false, false);
for($row=2; $row<=$highestRow; $row++)
{
$id= $worksheet->getCellByColumnAndRow(0,$row)->getFormattedValue(); //Excel Column 0
$id_cod_obra= $worksheet->getCellByColumnAndRow(1,$row)->getFormattedValue(); //Excel Column 0
$nome= $worksheet->getCellByColumnAndRow(2,$row)->getValue(); //Excel Column 1
$codigoean=$worksheet->getCellByColumnAndRow(9,$row)->getFormattedValue(); //Excel Column 10
$data[] = array(
'id' => $id,
'id_cod_obra' => $id_cod_obra,
'codigoean' => $codigoean,
);
}
}
$this->excel_import_model2->insert($data);
//Delete empty rows in DB where id_cod_obra is empty but id will autoincrement
// $this->db->select('id');
// $this->db->where('id_cod_obra', '');
// $this->db->delete('peca');
МОДЕЛЬ
function insert($data)
{
$this->db->insert_batch('peca', $data);
}
1) Если я удаляю высоту строки и любое форматирование в пустые строки, этоработает 2) С delete после вставки в db мое значение id автоинкрементно начнет расти с ошибками в импорте.3,4 - это решение, которого я пытаюсь достичь.