я хочу импортировать Excel как json данные в Codeigniter с проверкой для каждой строки.
столбец Excel
|A |B |C
|demo|DM1|11231
|demo|DM2|87128
...
мой код для получить массив из Excel
//start loop excel from 2nd row. Row 1 is title row
for ($j=2; $j < $lastRow; $j++ ){
$myArray[] = array(
'site_id' => $objWorksheet->getCell('B'.$j)->getValue(),
'site_name' => $objWorksheet->getCell('A'.$j)->getValue(),
'id_site_doc'=> $objWorksheet->getCell('C'.$j)->getValue()
}
//validate the array
$this->form_validation->set_data($myArray);
$this->form_validation->reset_validation();
foreach ($myArray as $key => $value) {
$columnB = $myArray[$key]['site_id'];
$columnA = $myArray[$key]['site_name'];
$columnC = $myArray[$key]['id_site_doc'];
}
if (empty($columnB )){
$this->form_validation->set_rules('mr_submit_target', 'site_id on row ' . $j, 'required');
}
else if (empty($columnA )){
$this->form_validation->set_rules('short_desc', 'site_name on row ' . $j, 'required');
}
else if (empty($columnC )) {
$this->form_validation->set_rules('cd_id', 'id_site_doc on row ' . $j, 'required');
}
if ($this->form_validation->run() == FALSE){
$errorArray[$j]=$this->form_validation->error_array();
print_r($errorArray[$j]);
}else{
//post to endpoint
$data_to_post = json_encode($myArray);
$curl = curl_init('http://myendpoint/implementation_bom_op');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_to_post))
);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_to_post);
// Send the request
$result = curl_exec($curl);
echo $result;
}
}
мое ожидание
данные будут публиковать только , если есть полная проверка, когда есть Пустая ячейка в каждой ячейке выдаст ошибку. это возможно? или это должно быть на стороне конечной точки?