Я пытаюсь импортировать данные из листа excel (.xlsx). Я нашел PHPExcel для импорта данных, но после загрузки документа и исходного кода я смущен, какой файл важен для меня. Я также попытался найти документ на этом сайте, но не нашел пути.
О моей задаче: прочитайте данные листа Excel из выбранного листа и вставьте данные в мою таблицу базы данных.
Поэтому я очень благодарен, если вы будете руководить мной, как использовать его.
Благодарю.
Вы можете использовать библиотеку PHPExcel для чтения файла Excel и вставки данных в базу данных.
Пример кода ниже.
// Include PHPExcel_IOFactory include 'PHPExcel/IOFactory.php'; $inputFileName = 'sample.xls'; // Read your Excel workbook try { $inputFileType = PHPExcel_IOFactory::identify($inputFileName); $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($inputFileName); } catch(Exception $e) { die('Error loading file "'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage()); } // Get worksheet dimensions $sheet = $objPHPExcel->getSheet(0); $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); // Loop through each row of the worksheet in turn for ($row = 1; $row <= $highestRow; $row++){ // Read a row of data into an array $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE); // Insert row data array into database here using your own structure
Чтобы быстро просмотреть документацию, используйте IOFactory для автоматического определения формата файла.
include 'path/to/PHPExcel/IOFactory.php'; // Let IOFactory determine the spreadsheet format $document = PHPExcel_IOFactory::load('path/to/spreadsheet.xls'); // Get the active sheet as an array $activeSheetData = $document->getActiveSheet()->toArray(null, true, true, true); var_dump($activeSheetData);
Попробуйте это, чтобы начать процесс разработки:
include '.... /PHPexcel/Classes/PHPExcel.php'; $dataFfile = "C:/tmp/test_data.xls"; $objPHPExcel = PHPExcel_IOFactory::load($dataFfile); $sheet = $objPHPExcel->getActiveSheet(); $data = $sheet->rangeToArray('A2:AB5523'); echo "Rows available: " . count($data) . "\n"; foreach ($data as $row) { print_r($row); }
Замените путь include на ваш путь к PHPExcel.php
Замените $dataFile
вашим файлом excel
Также отрегулируйте диапазон ячеек, которые вы хотите импортировать