Как хранить данные Excel в базе данных, используя PHP MySQL для любого количества столбцов? - PullRequest
0 голосов
/ 30 октября 2018

Я использую PHPExcel для хранения данных Excel в базе данных. Прямо сейчас я могу хранить данные для определенного количества столбцов. Например, я написал следующий код для хранения данных в двух столбцах:

require 'PHPExcel/Classes/PHPExcel.php';
$input_file_name = $_FILES['file']['tmp_name'];
$excel_data = array();
$input_file_type = PHPExcel_IOFactory::identify($input_file_name);
$objReader = PHPExcel_IOFactory::createReader($input_file_type);
$objPHPExcel = $objReader->load($input_file_name);
$worksheet = $objPHPExcel->getSheet(0);
$highestRow = $worksheet->getHighestDataRow();
$highestColumn = $worksheet->getHighestColumn();
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);

for($row = 1; $row <=$highestRow; $row++){

    if($row > 1){
        $rowData = $worksheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, True, False);
        $rowData[0][0] = date("Y-m-d", PHPExcel_Shared_Date::ExcelToPHP($worksheet->getCellByColumnAndRow(0, $row)->getValue()));
        $sql = "INSERT INTO `data_test`(data_date, data_value) VALUES('".$rowData[0][0]."', '".$rowData[0][1]."') ";

        if(mysqli_query($conn, $sql)){
            echo "Success <br>";
        }else{  echo mysqli_error()."<br>"; }
    }


}

Мой первый столбец всегда будет типа даты.

Но, на самом деле, перед загрузкой файла я не могу знать, сколько там столбцов. Для этого, как я могу хранить данные любого количества столбцов, где первый столбец всегда будет тип даты?

Может ли кто-нибудь помочь с примером?

...