Добрый день.
Для того, чтобы из exel файла добавить товары в базу, как уже подсказали, Вам нужно расширение
PHPExcel.
При помощи этого расширения Вы считываете данные с файла, заполняете нужную модель и сохраняете данные в базу.
Приблизительно так:
class ProductsImportController extends Controller
{
public function actionImport()
{
$file = (object)Yii::$app->request->post('FlightsImport'); // получаете имя файла
$fileInput = Yii::getAlias('@webroot') . '/uploads/import_file/' . substr(strrchr($file->importfile, '/'), 1); // полный путь к файлу
/* читаете файл */
$objInputType = \PHPExcel_IOFactory::identify($fileInput);
$objReader = \PHPExcel_IOFactory::createReader($objInputType);
$objExcel = $objReader->load($fileInput);
$sheet = $objExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
for($row = 1; $row <= $highestRow; $row++){
if($row == 1) continue;
$rowData = $sheet->rangeToArray('A'.$row.':'.$highestColumn.$row, null, true, false);
// print_r($rowData);
// объект модели, которую надо заполнить
$flights = new FlightsImport();
// заполняете нужные атрибуты
$flights->title = FlightsImport::findAirlineId($rowData[0][3]); // название компании
$flights->save(false);
}
}
}
Чтобы понять, что это за массив
$rowData[0][3]
сделайте в методе
print_r($rowData)
и увидите, что и какие данные Вы получили из файла.