Exemple #1
0
<?php

// Подключаем библиотеку
require_once "PHPExcel.php";
// Подключаем модуль
require_once __DIR__ . "/../library/excel_mysql.php";
// Определяем константу для включения режима отладки (режим отладки выключен)
define("EXCEL_MYSQL_DEBUG", false);
// Соединение с базой MySQL
$connection = new mysqli("localhost", "user", "pass", "excel_mysql_base");
// Выбираем кодировку UTF-8
$connection->set_charset("utf8");
// Создаем экземпляр класса excel_mysql
$excel_mysql_import_export = new Excel_mysql($connection, "./example.xlsx");
// Примеры без дополнительных настроек
// Экспортируем таблицу MySQL в Excel
echo $excel_mysql_import_export->mysql_to_excel("excel_mysql_data", "Экспорт") ? "OK\n" : "FAIL\n";
// Перебираем все листы Excel и преобразуем в таблицу MySQL
echo $excel_mysql_import_export->excel_to_mysql_iterate(array("excel_mysql_iterate")) ? "OK\n" : "FAIL\n";
// Преобразуем первый лист Excel в таблицу MySQL
echo $excel_mysql_import_export->excel_to_mysql_by_index("excel_mysql_by_index") ? "OK\n" : "FAIL\n";
// Примеры с дополнительными настройками
// Указываем названия столбцов в таблице MySQL
echo $excel_mysql_import_export->excel_to_mysql_by_index("excel_mysql_by_index_with_option_1", 0, array("id", "first_name", "last_name", "email", "pay")) ? "OK\n" : "FAIL\n";
// Указываем названия столбцов в таблице MySQL. Дополнительно указываем столбцы которые, в случае отсутствия, будут заполнены значением по умолчанию
echo $excel_mysql_import_export->excel_to_mysql_by_index("excel_mysql_by_index_with_option_2", 0, array("id", "first_name", "last_name", "email", "pay", "empty_1", "empty_2", "empty_3")) ? "OK\n" : "FAIL\n";
// Указываем названия столбцов в таблице MySQL и функцию изменения значения для конкретного столбца (например для преобразования дат из Excel в MySQL)
echo $excel_mysql_import_export->excel_to_mysql_by_index("excel_mysql_by_index_with_option_3", 0, array("id", "first_name", "last_name", "email", "pay"), false, false, array("pay" => function ($value) {
    return $value * 2;
})) ? "OK\n" : "FAIL\n";
// Экспортируем таблицу MySQL в Excel
Exemple #2
0
if (!$connection->query("DROP TABLE IF EXISTS excel_mysql_data, excel_mysql_by_index, excel_mysql_iterate, excel_mysql_by_index_with_option_1, excel_mysql_by_index_with_option_2, excel_mysql_by_index_with_option_3, excel_mysql_by_index_with_option_4, excel_mysql_by_index_with_option_5, excel_mysql_by_index_with_option_6")) {
    throw new Exception("MySQL query error!");
}
if (!$connection->query("CREATE TABLE `excel_mysql_data` (`id` INT(11) NOT NULL AUTO_INCREMENT, `first_name` VARCHAR(50) NOT NULL, `last_name` VARCHAR(50) NOT NULL, `email`   VARCHAR(100) NOT NULL, `pay` FLOAT(10, 2) NOT NULL, PRIMARY KEY (`id`))")) {
    throw new Exception("MySQL query error!");
}
if (!$connection->query("INSERT INTO `excel_mysql_data` (`first_name`, `last_name`, `email`, `pay`) VALUES ('John', 'Smith', '*****@*****.**', 10000.00)")) {
    throw new Exception("MySQL query error!");
}
if (!$connection->query("INSERT INTO `excel_mysql_data` (`first_name`, `last_name`, `email`, `pay`) VALUES ('Steve', 'Smith', '*****@*****.**', 11000.00)")) {
    throw new Exception("MySQL query error!");
}
if (!$connection->query("INSERT INTO `excel_mysql_data` (`first_name`, `last_name`, `email`, `pay`) VALUES ('Oscar', 'Wild', '*****@*****.**', 12250.59)")) {
    throw new Exception("MySQL query error!");
}
$excel_mysql_import_export = new Excel_mysql($connection, "./test.xlsx");
assert($excel_mysql_import_export->mysql_to_excel("excel_mysql_data", "Экспорт"));
assert(file_exists("test.xlsx"));
assert($excel_mysql_import_export->excel_to_mysql_iterate(array("excel_mysql_iterate")));
assert($excel_mysql_import_export->excel_to_mysql_by_index("excel_mysql_by_index"));
assert($excel_mysql_import_export->excel_to_mysql_by_index("excel_mysql_by_index_with_option_1", 0, array("id", "first_name", "last_name", "email", "pay")));
assert($excel_mysql_import_export->excel_to_mysql_by_index("excel_mysql_by_index_with_option_2", 0, array("id", "first_name", "last_name", "email", "pay", "empty_1", "empty_2", "empty_3")));
assert($excel_mysql_import_export->excel_to_mysql_by_index("excel_mysql_by_index_with_option_3", 0, array("id", "first_name", "last_name", "email", "pay"), 1));
assert($excel_mysql_import_export->excel_to_mysql_by_index("excel_mysql_by_index_with_option_4", 0, array("id", "first_name", "last_name", "email", "pay"), false, array("pay" => function ($value) {
    return floatval($value) > 20000.0;
})));
assert($excel_mysql_import_export->excel_to_mysql_by_index("excel_mysql_by_index_with_option_5", 0, array("id", "first_name", "last_name", "email", "pay"), false, false, array("pay" => function ($value) {
    return $value * 2;
})));
assert($excel_mysql_import_export->excel_to_mysql_by_index("excel_mysql_by_index_with_option_4", 0, array("id", "first_name", "last_name", "email", "pay"), false, false, false, 1));
assert($excel_mysql_import_export->excel_to_mysql_by_index("excel_mysql_by_index_with_option_5", 0, array("id", "first_name", "last_name", "email", "pay"), false, false, false, false, array("INT(11) NOT NULL AUTO_INCREMENT", "VARCHAR(50) NOT NULL", "VARCHAR(50) NOT NULL", "VARCHAR(100) NOT NULL", "FLOAT(10,2) NOT NULL"), array("id" => "PRIMARY KEY")));