Пропуск значений при импорте Excel в MySQL с использованием PHPSpreadsheet - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь импортировать значения из электронной таблицы Excel с помощью пакета компоновщика PHPSpreadsheet.Но он продолжает пропускать некоторые строки из файла Excel.в чем может быть причина?

Код работает отлично, и он вставляет данные в таблицу mysql.

Допустим, у меня есть 50 строк данных (кроме строки заголовка), запрос нижевставит только 45 строк данных.

Пожалуйста, просмотрите код ниже: code:

$inputFileType = ''; //file extention

//check file extension
if(pathinfo($file, PATHINFO_EXTENSION) == 'csv'){
    $inputFileType = 'Csv';
} elseif(pathinfo($file, PATHINFO_EXTENSION) == 'xls'){
    $inputFileType = 'Xls';
} elseif(pathinfo($file, PATHINFO_EXTENSION) == 'xlsx'){
    $inputFileType = 'Xlsx';
}
//select file posted for inserting data
$inputFileName =  $_FILES["file"]["tmp_name"];

$reader = IOFactory::createReader($inputFileType);
$reader->setReadDataOnly(true);
$spreadsheet = $reader->load($inputFileName);

$sheetData = $spreadsheet->getActiveSheet()->toArray(null, true, true, true);
for($row = 6; $row <= count($sheetData); $row++)
{
    $nr_orgUnit = $hospital;
    $inserted_by = $inserted_by;

    $xx = "'" . $nr_orgUnit . "', '" . implode("','", $sheetData[$row]) . "', '" . $inserted_by . "'";

    $stmt = $conn->query("INSERT INTO `ag_nacp_item_1_7`(`nr_orgUnit`, `PatientID`, `Age`, `Sex`, `NumberTimesStartedTBRX`, `Pregnant`, `KP`, `inserted_by`) VALUES($xx)");
}
if($stmt){
    echo '<div class="alert alert-success">
              <strong>Success!</strong> Report uploaded.
            </div>';
} else {
    echo '
    <div class="alert alert-warning">
        <strong>Error!</strong> ' . $sql . '<br>' . $conn->error .'
    </div>';
}
...