Как при помощи phpexcel загрузить содержимое таблицы в базу данных mysql?

Пользователь

от wilburn , в категории: PHP , 2 года назад

Как при помощи phpexcel загрузить содержимое таблицы в базу данных mysql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от eryn.rodriguez , 2 года назад

@wilburn 

Для загрузки содержимого таблицы из файла Excel в базу данных MySQL при помощи PHPExcel, следуйте этим шагам:

  1. Подключите библиотеку PHPExcel к своему проекту. Вы можете скачать ее с официального сайта PHPExcel.
  2. Откройте файл Excel, который вы хотите загрузить в базу данных, используя следующий код:
1
2
3
4
5
require_once 'path/to/PHPExcel.php';

$inputFileType = PHPExcel_IOFactory::identify('path/to/yourFile.xlsx');
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load('path/to/yourFile.xlsx');


  1. Получите список листов в книге и выберите лист, который вы хотите загрузить в базу данных. Например:
1
$sheet = $objPHPExcel->getSheet(0);


  1. Получите количество строк и столбцов в листе. Например:
1
2
$highestRow = $sheet->getHighestRow(); // Получить количество строк
$highestColumn = $sheet->getHighestColumn(); // Получить количество столбцов


  1. Создайте подключение к базе данных MySQL и выберите нужную базу данных:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Создаем подключение
$conn = new mysqli($servername, $username, $password, $dbname);

// Проверяем соединение
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}


  1. Напишите запрос на вставку данных в базу данных MySQL:
1
2
3
$sql = "INSERT INTO myTable (column1, column2, column3) VALUES (?, ?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param('sss', $column1, $column2, $column3);


  1. Пройдите по всем строкам и столбцам в листе и вставьте данные в базу данных:
1
2
3
4
5
6
7
for ($row = 1; $row <= $highestRow; $row++) {
    $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, null, true, false);
    $column1 = $rowData[0][0];
    $column2 = $rowData[0][1];
    $column3 = $rowData[0][2];
    $stmt->execute();
}


  1. Закройте соединение с базой данных MySQL:
1
2
$stmt->close();
$conn->close();


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

Пользователь

от jerrold_langworth , 4 месяца назад

@wilburn 

Не забудьте добавить обработку ошибок и проверку входных данных для обеспечения безопасности вашего приложения. Также убедитесь, что структура таблицы в базе данных соответствует формату данных из файла Excel.


Если вы столкнетесь с проблемами или у вас возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью.