Иногда вам может потребоваться экспорт в формат Excel из MySQL для локального использования. База данных или таблицы базы данных MySQL могут быть экспортированы в различные форматы файлов, такие как CSV, XML, SQL, Excel и т. д., С помощью клиента PHP, phpMyAdmin. Также можно экспортировать данные MySQL с помощью сценария PHP вместо экспорта данных вручную. Когда веб-приложению требуется, чтобы данные из базы данных MySQL хранились в формате Excel, для выполнения этой задачи лучше всего использовать скрипт PHP. В этой статье показано, как экспортировать данные MySQL с помощью сценария PHP.
Перед экспортом любых данных MySQL выполните следующие задачи. Вы должны открыть клиент MySQL в терминале или клиент phpMyAdmin в браузере для выполнения следующих задач. Таблица с пятью записями будет создана в базе данных после выполнения следующих команд SQL.
Выполните следующую команду SQL, чтобы создать базу данных с именем компании.
CREATE database `company`;
Выполните следующую команду SQL, чтобы создать таблицу с именем items.
CREATE TABLE `items` ( `id` int(11) AUTO_INCREMENT PRIMARY KEY, `name` varchar(100) NOT NULL, `type` varchar(20) NOT NULL, `brand` varchar(50) NOT NULL, `price` double(5,2) NOT NULL ) ENGINE=InnoDB;
INSERT INTO `items` (`name`,`type`,`brand`,`price`) VALUES ('Samsung A40s', 'Mobile','Sansung',300.00), ('Samsung 4523 40” inche', 'TV','Samsung',250.00), ('Walton Large Fridge', 'Fridge','Walton',400.00), ('LG 15” Monitor', 'Monitor','LG',100.00), ('DELL gaming Laptop', 'Laptop','Dell',450.00);
Если вы откроете таблицу элементов из клиента phpMyAdmin.
Здесь вы должны создать файл PHP с именем read_and_export.php, чтобы создать следующий сценарий, который считывает записи в таблице элементов и создает файл Excel с содержимым таблицы элементов. В сценарии объявляется объект подключения к базе данных для извлечения данных из таблицы базы данных. Затем определяется запрос выбора для чтения всех записей из таблицы элементов, которые хранятся в переменной с именем $ items. Эта переменная используется для отображения содержимого таблицы в табличной форме и создания файла Excel с содержимым таблицы на основе действий пользователя. Когда пользователь нажимает кнопку, которая позже будет создана в документе HTML для экспорта данных таблицы в формате Excel, функция isset() этого скрипта вернет значение «true». Чтобы создать файл Excel, имя файла определяется с расширением xsl. Необходимая информация заголовка передается с помощью функции header(). Затем переменная $heading используется для установки заголовка столбцов в файле Excel. Ключевые значения переменной $ items используются в качестве значений заголовка. Затем функция implode() используется для записи записей таблицы элементов в файл Excel.
<?php query($query); $items = array(); // Сохраняем записи таблицы в массив while( $row = $result->fetch_assoc() ) { $items[] = $row; } // Проверяем, нажата ли кнопка экспорта if(isset($_POST["export"])) { // Определим имя файла с текущей датой $fileName = "itemdata-".date('d-m-Y').".xls"; // Устанавливаем информацию заголовка для экспорта данных в формате Excel header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment; filename='.$fileName); // Устанавливаем переменную в false для заголовка $heading = false; // Добавляем данные таблицы MySQL в файл Excel if(!empty($items)) { foreach($items as $item) { if(!$heading) { echo implode("\t", array_keys($item)) . "\n"; $heading = true; } echo implode("\t", array_values($item)) . "\n"; } } exit(); } ?>
Создайте еще один файл PHP с именем index.php со следующим кодом для отображения записей в таблице элементов в браузере с помощью кнопки «Экспорт в Excel». Здесь файл read_and_export.php включен в начало сценария, чтобы установить соединение с базой данных, прочитать данные таблицы и создать файл Excel с данными таблицы, когда пользователь нажимает кнопку. Данные таблицы будут отображаться в табличном формате с использованием начальной загрузки и jQuery.
<? php // Добавить скрипт для чтения данных MySQL и экспорта в Excel include ( "read_and_export.php" ) ; ?> <!DOCTYPE html> <html> <head> <title>Экспорт данных MySQL в Excel с помощью PHP</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script> </head> <body> <div class="container"> <center><br/><br/><h2 style='color:green'>Информация о таблице товаров</h2></center> <div class="col-sm-12"> <div> <form action="#" method="post"> <button type="submit" id="export" name="export" value="Export to excel" class="btn btn-success">Экспорт в Excel</button> </form> </div> </div> <br/> <table id="" class="table table-striped table-bordered"> <tr> <th>ID</th> <th>Имя</th> <th>Тип</th> <th>Марка</th> <th>Цена</th> </tr> <tbody> <?php foreach($items as $item) { ?> <tr> <td><?php echo $item ['id']; ?></td> <td><?php echo $item ['name']; ?></td> <td><?php echo $item ['type']; ?></td> <td><?php echo $item ['brand']; ?></td> <td>$<?php echo $item ['price']; ?></td> </tr> <?php } ?> </tbody> </table> </div> </body> </html>
Здесь файлы read_and_export.php и index.php хранятся в папке var var/www/html/php/export. Запустите следующий URL-адрес в браузере, чтобы запустить index.php.
http://localhost/php/export
При нажатии кнопки «Экспорт в Excel» появится следующее диалоговое окно. Установите переключатель «Сохранить файл» и нажмите кнопку «ОК», чтобы создать и загрузить файл Excel с данными таблицы.
Когда вы щелкаете загруженный файл, чтобы открыть его, появляется следующее диалоговое окно, в котором вы можете выбрать необходимые параметры перед отображением файла. Данные в каждом столбце разделяются табуляцией (\t) во время создания файла Excel. Таким образом, здесь выбирается вкладка перед созданием файла.
Файл Excel можно создать из таблицы MySQL, разделив значения столбцов определенным разделителем. Разделителем может быть запятая (,) табуляция (\t), точка с запятой (;), пробел ( ) или другие конкретные символы. В этой статье табуляция используется в качестве разделителя. Перед отображением содержимого файла Excel необходимо выбрать соответствующий символ в диалоговом окне «Импорт текста». Если в содержимом данных таблицы MySQL используются одинарные или двойные кавычки, то эти данные не будут сохранены в файле Excel. Я надеюсь, что это руководство помогло вам узнать, как экспортировать данные таблицы MySQL в файл Excel.