Загрузка Excel-файла в базу данных MySQL с помощью PHP

Доброго времени суток! В прошлой статье я рассказывал Вам о библиотеке PHPSpreadsheet. Там мы рассмотрели пример записи данных в Excel файл. В данной же статье мы прочитаем с Вами Excel файл и загрузим строки из него в базу данных MySQL.
Зачем это может понадобиться? Одной из самых часто встречающихся задач при работе с интернет-магазинами является загрузка больших прайс-листов в базу данных. Делать это вручную, очевидно, не хочется, да и не стоит, так как увеличивается шанс ошибиться при вводе однотипных данных. А скрипт, который я покажу Вам далее справится с этой задачей достаточно просто — в конечном счете все будет упираться в структуру Вашего Excel файла.
Устанавливаем библиотеку PHPSpreadsheet:
C:/> composer require phpoffice/phpspreadsheet
Функция, которая загружает данные в базу:
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Shared\Date as PHPSpreadsheetDate;
/**
* @param Spreadsheet $spreadsheet — Excel-книга с данными
* @param PDO $pdo — PDO-подключение к базе данных
* @param bool $limit_execution — ограничивает количество строк экспортируемых в базу (для тестирования)
* @throws \PhpOffice\PhpSpreadsheet\Exception
*/
function excel2db(Spreadsheet $spreadsheet, PDO $pdo, $limit_execution = true)
// получает названия листов книги в виде массива
$sheetNames = $spreadsheet->getSheetNames();
// возвращает количество листов в книге
$sheetsCount = $spreadsheet->getSheetCount();
// проходимся по каждому листу
for ($c = 0; $c < $sheetsCount; $c++)
// ссылка на лист
$sheet = $spreadsheet->getSheet($c);
// последняя строка в листе
$highestRow = $sheet->getHighestRow(‘A’);
print «Количество строк в книге #$sheetNames[$c] составляет $highestRow» . PHP_EOL;
// SQL-запрос на вставку данных в базу
$sql = «INSERT INTO products (
category, subcategory, name, price, producer, quantity, produced_at
)
VALUES (:category, :subcategory, :name, :price, :producer, :quantity, :produced_at)»;
// подготовленное SQL-выражение
$stmt = $pdo->prepare($sql);
// проходимся по каждой строке в листе
// счетчик начинается с 2-ой строки, так как первая строка — это заголовок
for ($i = 2; $i < $highestRow + 1; $i++)
// для тестирования — заполняет только 30 строк, чтобы посмотреть, что все в порядке
if($limit_execution) if($i == 30) break;
>
// получаем значения из ячеек столбцов
$category = $sheet->getCell(‘A’ . $i)->getValue();
$subcategory = $sheet->getCell(‘B’ . $i)->getValue();
$name = $sheet->getCell(‘C’ . $i)->getValue();
$price = $sheet->getCell(‘D’ . $i)->getValue();
$producer = $sheet->getCell(‘E’ . $i)->getValue();
$quantity = $sheet->getCell(‘G’ . $i)->getValue();
// преобразуем дату из формата Excel в формат PHP
$produced_at = PHPSpreadsheetDate::excelToDateTimeObject($sheet->getCell(‘F’ . $i)->getValue());
$stmt->bindParam(‘:category’, $category);
$stmt->bindParam(‘:subcategory’, $subcategory);
$stmt->bindParam(‘:name’, $name);
$stmt->bindParam(‘:price’, $price);
$stmt->bindParam(‘:producer’, $producer);
$stmt->bindParam(‘:quantity’, $quantity);
$stmt->bindParam(‘:produced_at’, $produced_at);
$res = $stmt->execute();
// если запрос на вставку выполнился успешно, выводим в консоль сообщение
if($res) print «Строка #$i из листа $sheetNames[$c] помещена в базу» . PHP_EOL;
>
>
>
>
Файл, в котором будет вызываться функция:
require __DIR__ . ‘/../vendor/autoload.php’;
$host = ‘127.0.0.1’;
$db = ‘products_db’;
$user = ‘user1’;
$pass = ‘userpass’;
$charset = ‘utf8’;
$dsn = «mysql:host=$host;dbname=$db;charset=$charset»;
$opts= [
\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
\PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC,
\PDO::ATTR_EMULATE_PREPARES => false,
];
// подключение к базе
$pdo = new PDO($dsn, $user, $pass, $opts);
// класс, который читает файл прайса
$reader = new Xlsx();
// получаем Excel-книгу
$spreadsheet = $reader->load(‘products_db_01012020.xlsx’);
// замеряем время работы скрипта
$startTime = microtime(true);
// запускаем экспорт данных
excel2db($spreadsheet, $pdo, false);
$elapsedTime = round(microtime(true) — $startTime, 4);
print «Скрипт выполнился за: $elapsedTime с.»;
Таким образом, после запуска данного скрипта через некоторое время (от ~15 минут при 10 тыс. строк) вы получите содержимое Вашего прайса в базе данных. Конечно это демонстрационный скрипт: в нем нет обработки исключений и возможных ошибок, а также окончательная версия Вашего скрипта может существенно отличаться от приведенной здесь. Это зависит от объема и сложности конкретного прайс-листа.

![]()
Создано 08.06.2021 08:53:55
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
- Кнопка:
Она выглядит вот так: - Текстовая ссылка:
Она выглядит вот так: Как создать свой сайт - BB-код ссылки для форумов (например, можете поставить её в подписи):
Комментарии ( 0 ):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Copyright © 2010-2024 Русаков Михаил Юрьевич. Все права защищены.
Импорт данных из Excel в SQL Server или базу данных Azure
Импортировать данные из файлов Excel в SQL Server или базу данных SQL Azure можно несколькими способами. Некоторые методы позволяют импортировать данные за один шаг непосредственно из файлов Excel. Для других методов необходимо экспортировать данные Excel в виде текста (CSV-файла), прежде чем их можно будет импортировать.
В этой статье перечислены часто используемые методы и содержатся ссылки для получения дополнительных сведений. Однако в ней не указано полное описание таких сложных инструментов и служб, как SSIS или Фабрика данных Azure. Дополнительные сведения об интересующем вас решении доступны по ссылкам ниже.
Список методов
Существует несколько способов импорта данных из Excel. Для использования некоторых из этих инструментов может понадобиться установка SQL Server Management Studio (SSMS).
Для импорта данных из Excel можно использовать следующие средства:
| Сначала экспортировать в текст (SQL Server и база данных SQL) | Непосредственно из Excel (только в локальной среде SQL Server) |
|---|---|
| Мастер импорта неструктурированных файлов | мастер импорта и экспорта SQL Server |
| Инструкция BULK INSERT | Службы SQL Server Integration Services |
| BCP | Функция OPENROWSET |
| Мастер копирования (Фабрика данных Azure) | |
| Фабрика данных Azure. |
Если вы хотите импортировать несколько листов из книги Excel, обычно нужно запускать каждое из этих средств отдельно для каждого листа.
Дополнительные сведения см. в разделе Ограничения и известные проблемы загрузки данных в файлы Excel или из них.
Мастер импорта и экспорта
Импортируйте данные напрямую из файлов Excel с помощью мастера импорта и экспорта SQL Server. Вы также можете сохранить параметры в виде пакета SQL Server Integration Services (SSIS), который можно настроить и повторно использовать позже.

- В SQL Server Management Studio подключитесь к экземпляру SQL Server Компонент Database Engine.
- Разверните узел Базы данных.
- Щелкните базу данных правой кнопкой мыши.
- Выберите Задачи.
- Выберите Импортировать данные или Экспортировать данные:

Дополнительные сведения см. в следующих статьях:
- Запуск мастера импорта и экспорта SQL Server
- Приступая к работе с простым примером мастера импорта и экспорта
Службы Integration Services (SSIS)
Если вы работали с SQL Server Integration Services (SSIS) и не хотите запускать мастер импорта и экспорта SQL Server, создайте пакет SSIS, который использует в потоке данных источник «Excel» и назначение «SQL Server».
Дополнительные сведения см. в следующих статьях:
- Источник Excel
- Назначение SQL Server
Чтобы научиться создавать пакеты SSIS, см. руководство How to Create an ETL Package (Как создать пакет ETL).

OPENROWSET и связанные серверы
В базе данных SQL Azure невозможно импортировать данные непосредственно из Excel. Сначала необходимо экспортировать данные в текстовый файл (CSV).
Поставщик ACE (прежнее название — поставщик Jet), который подключается к источникам данных Excel, предназначен для интерактивного клиентского использования. Если поставщик ACE используется на сервере SQL Server, особенно в автоматизированных процессах или процессах, выполняющихся параллельно, вы можете получить непредвиденные результаты.
Распределенные запросы
Импортируйте данные напрямую из файлов Excel в SQL Server с помощью функции Transact-SQL OPENROWSET или OPENDATASOURCE . Такая операция называется распределенный запрос.
В базе данных SQL Azure невозможно импортировать данные непосредственно из Excel. Сначала необходимо экспортировать данные в текстовый файл (CSV).
Перед выполнением распределенного запроса необходимо включить параметр ad hoc distributed queries в конфигурации сервера, как показано в примере ниже. Дополнительные сведения см. в статье ad hoc distributed queries Server Configuration Option (Параметр конфигурации сервера «ad hoc distributed queries»).
sp_configure 'show advanced options', 1; RECONFIGURE; GO sp_configure 'ad hoc distributed queries', 1; RECONFIGURE; GO
В приведенном ниже примере кода данные импортируются из листа Excel Sheet1 в новую таблицу базы данных с помощью OPENROWSET .
USE ImportFromExcel; GO SELECT * INTO Data_dq FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0; Database=C:\Temp\Data.xlsx', [Sheet1$]); GO
Ниже приведен тот же пример с OPENDATASOURCE .
USE ImportFromExcel; GO SELECT * INTO Data_dq FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0', 'Data Source=C:\Temp\Data.xlsx;Extended Properties=Excel 12.0'). [Sheet1$]; GO
Чтобы добавить импортированные данные в существующую таблицу, а не создавать новую, используйте синтаксис INSERT INTO . SELECT . FROM . вместо синтаксиса SELECT . INTO . FROM . из предыдущих примеров.
Для обращения к данным Excel без импорта используйте стандартный синтаксис SELECT . FROM . .
Дополнительные сведения о распределенных запросах см. в следующих статьях:
- Распределенные запросы (распределенные запросы по-прежнему поддерживаются в SQL Server 2019 г. (15.x), но документация по этой функции не была обновлена.)
- OPENROWSET
- OPENDATASOURCE
Связанные серверы
Кроме того, можно настроить постоянное подключение от SQL Server к файлу Excel как к связанному серверу. В примере ниже данные импортируются из листа Excel Data на существующем связанном сервере EXCELLINK в новую таблицу базы данных SQL Server с именем Data_ls .
USE ImportFromExcel; GO SELECT * INTO Data_ls FROM EXCELLINK. [Data$]; GO
Вы можете создать связанный сервер из SQL Server Management Studio (SSMS) или запустив системную хранимую процедуру sp_addlinkedserver , как показано в следующем примере.
DECLARE @RC INT; DECLARE @server NVARCHAR(128); DECLARE @srvproduct NVARCHAR(128); DECLARE @provider NVARCHAR(128); DECLARE @datasrc NVARCHAR(4000); DECLARE @location NVARCHAR(4000); DECLARE @provstr NVARCHAR(4000); DECLARE @catalog NVARCHAR(128); -- Set parameter values SET @server = 'EXCELLINK'; SET @srvproduct = 'Excel'; SET @provider = 'Microsoft.ACE.OLEDB.12.0'; SET @datasrc = 'C:\Temp\Data.xlsx'; SET @provstr = 'Excel 12.0'; EXEC @RC = [master].[dbo].[sp_addlinkedserver] @server, @srvproduct, @provider, @datasrc, @location, @provstr, @catalog;
Дополнительные сведения о связанных серверах см. в следующих статьях:
- Создание связанных серверов
- OPENQUERY
Дополнительные примеры и сведения о связанных серверах и распределенных запросах см. в следующей статье:
Предварительное требование — сохранение данных Excel как текст
Чтобы использовать другие методы, описанные на этой странице (инструкцию BULK INSERT, средство BCP или фабрику данных Azure), сначала экспортируйте данные Excel в текстовый файл.
В Excel выберите Файл | Сохранить как, а затем выберите Тип файла назначения Текст (с разделителями табуляции) (*.txt) или CSV (с разделителями-запятыми) (*.csv).
Если вы хотите экспортировать несколько листов из книги, выделите каждый лист и повторите эту процедуру. Команда Сохранить как экспортирует только активный лист.
Чтобы оптимизировать использование средств импорта, сохраняйте листы, которые содержат только заголовки столбцов и строки данных. Если сохраненные данные содержат заголовки страниц, пустые строки, заметки и пр., позже при импорте данных вы можете получить непредвиденные результаты.
Мастер импорта неструктурированных файлов
Импортируйте данные, сохраненные как текстовые файлы, выполнив инструкции на страницах мастера импорта неструктурированных файлов.
Как было описано выше в разделе Предварительное требование, необходимо экспортировать данные Excel в виде текста, прежде чем вы сможете импортировать их с помощью мастера импорта неструктурированных файлов.
Дополнительные сведения о мастере импорта неструктурированных файлов см. в разделе Мастер импорта неструктурированных файлов в SQL.
Команда BULK INSERT
BULK INSERT — это команда Transact-SQL, которую можно выполнить в SQL Server Management Studio. В приведенном ниже примере данные загружаются из файла Data.csv с разделителями-запятыми в существующую таблицу базы данных.
Как было описано выше в разделе Предварительное требование, необходимо экспортировать данные Excel в виде текста, прежде чем вы сможете использовать BULK INSERT для их импорта. BULK INSERT не может считывать файлы Excel напрямую. С помощью команды BULK INSERT можно импортировать CSV-файл, который хранится локально или в хранилище BLOB-объектов Azure.
USE ImportFromExcel; GO BULK INSERT Data_bi FROM 'C:\Temp\data.csv' WITH ( FIELDTERMINATOR = ',', ROWTERMINATOR = '\n' ); GO
Дополнительные сведения и примеры для SQL Server и База данных SQL см. в следующих статьях:
- Массовый импорт данных с помощью инструкции BULK INSERT или OPENROWSET(BULK. )
- BULK INSERT
Средство BCP
BCP — это программа, которая запускается из командной строки. В приведенном ниже примере данные загружаются из файла Data.csv с разделителями-запятыми в существующую таблицу базы данных Data_bcp .
Как было описано выше в разделе Предварительное требование, необходимо экспортировать данные Excel в виде текста, прежде чем вы сможете использовать BCP для их импорта. BCP не может считывать файлы Excel напрямую. Используется для импорта в SQL Server или базу данных SQL из текстового файла (CSV), сохраненного в локальном хранилище.
Для текстового файла (CSV), хранящегося в хранилище BLOB-объектов Azure, используйте BULK INSERT или OPENROWSET. Примеры см. в разделе Пример.
bcp.exe ImportFromExcel..Data_bcp in "C:\Temp\data.csv" -T -c -t ,
Дополнительные сведения о BCP см. в следующих статьях:
- Массовый импорт и экспорт данных с помощью программы bcp
- Программа bcp
- Подготовка данных к массовому экспорту или импорту
Мастер копирования (ADF)
Импортируйте данные, сохраненные как текстовые файлы, с помощью пошаговой инструкции мастера копирования Фабрики данных Azure (ADF).
Как было описано выше в разделе Предварительное требование, необходимо экспортировать данные Excel в виде текста, прежде чем вы сможете использовать фабрику данных Azure для их импорта. Фабрика данных не может считывать файлы Excel напрямую.
Дополнительные сведения о мастере копирования см. в следующих статьях:
- Мастер копирования фабрики данных
- Руководство. Создание конвейера с действием копирования с помощью мастера копирования фабрики данных.
Фабрика данных Azure
Если вы уже работали с фабрикой данных Azure и не хотите запускать мастер копирования, создайте конвейер с действием копирования из текстового файла в SQL Server или Базу данных SQL Azure.
Как было описано выше в разделе Предварительное требование, необходимо экспортировать данные Excel в виде текста, прежде чем вы сможете использовать фабрику данных Azure для их импорта. Фабрика данных не может считывать файлы Excel напрямую.
Дополнительные сведения об использовании этих источников и приемников Фабрики данных см. в следующих статьях:
- Файловая система
- SQL Server
- База данных SQL Azure
Сведения о копировании данных с помощью фабрики данных Azure см. в следующих статьях:
- Перемещение данных с помощью действия копирования
- Руководство. Создание конвейера с действием копирования с помощью портала Azure
Распространенные ошибки
Microsoft.ACE.OLEDB.12.0″ не зарегистрирован
Эта ошибка возникает из-за того, что поставщик OLEDB не установлен. Установите его через Распространяемый пакет ядра СУБД Microsoft Access 2010. Не забудьте установить 64-разрядную версию, если Windows и SQL Server — 64-разрядные.
Полный текст ошибки.
Msg 7403, Level 16, State 1, Line 3 The OLE DB provider "Microsoft.ACE.OLEDB.12.0" has not been registered.
Не удалось создать экземпляр поставщика OLE DB «Microsoft.ACE.OLEDB.12.0» для связанного сервера «(null)».
Это означает, что microsoft OLEDB не настроен должным образом. Чтобы устранить проблему, выполните приведенный ниже код Transact-SQL.
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1; EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1;
Полный текст ошибки.
Msg 7302, Level 16, State 1, Line 3 Cannot create an instance of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".
32-разрядный поставщик OLE DB «Microsoft.ACE.OLEDB.12.0» не может быть загружен в процессе на 64-разрядной версии SQL Server.
Это происходит, когда 32-разрядная версия поставщика OLD DB устанавливается вместе с 64-разрядной версией SQL Server. Чтобы устранить эту проблему, удалите 32-разрядную версию и вместо нее установите 64-разрядную версию поставщика OLE DB.
Полный текст ошибки.
Msg 7438, Level 16, State 1, Line 3 The 32-bit OLE DB provider "Microsoft.ACE.OLEDB.12.0" cannot be loaded in-process on a 64-bit SQL Server.
Поставщик OLE DB «Microsoft.ACE.OLEDB.12.0» для связанного сервера «(null)» сообщил об ошибке.
Не удалось проинициализировать объект источника данных поставщика OLE DB «Microsoft.ACE.OLEDB.12.0» для связанного сервера «(null)».
Обе эти ошибки обычно указывают на ошибку разрешений между процессом SQL Server и файлом. Убедитесь, что учетная запись, с которой выполняется служба SQL Server, имеет разрешение на полный доступ к файлу. Мы не рекомендуем импортировать файлы с настольного компьютера.
Полный текст ошибки.
Msg 7399, Level 16, State 1, Line 3 The OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" reported an error. The provider did not give any information about the error.
Msg 7303, Level 16, State 1, Line 3 Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".
Дальнейшие действия
- Приступая к работе с простым примером мастера импорта и экспорта
- Импорт данных из Excel или экспорт данных в Excel с помощью служб SQL Server Integration Services (SSIS)
- Программа bcp
- Перемещение данных с помощью действия копирования
SQL-Ex blog

Как импортировать файл Excel в MySQL Workbench, используя Python
Добавил Sergey Moiseenko on Среда, 20 декабря. 2023
- Чем больше данных, тем больше времени займет загрузка данных в MySQL Workbench.
- Не нужно создавать схему таблицы, Python автоматически сделает это за вас.
Вы можете загрузить используемый здесь в качестве примера набор данных отсюда. Размер файла 21,8Мб, состоящий из 219085 строк х 12 столбцов. Мы загрузим данные в Pyhton с помощью библиотеки pandas, а затем загрузим их в MySQL Workbench.
Вот шаги, которые требуется проделать для загрузки данных в MySQL:
Шаг 1: Создайте базу данных в MySQL Workbench, используя команду CREATE:
Create database
-- Пример: Create database olympic
Шаг 2: Откройте Jupyter notebook и установите требуемые библиотеки:
pip install pymysql
Шаг 3: Импортируйте требуемые библиотеки:
import pandas as pd
from sqlalchemy import create_engine
Шаг 4: Загрузите данные как фрейм данных в Python:
df = pd.read_excel("C:/Users/priya/OneDrive/Desktop/Ankit bansal/SubQueries/Superstore_orders.xls")
Замечание. Если у вас файл с расширением csv, то используйте pd.read_csv().
Шаг 5: Загрузите данные в MySQL:
engine = create_engine("mysql+pymysql://< db_username >:< db_password >@< hostname >/< database_name >")
df.to_sql("< table_name >", con=engine)
db_username = имя пользователя вашей базы данных
db_password = пароль MySQL Workbench
hostname = имя хоста базы данных
database_name = имя базы данных, которую вы создали на шаге 1
table_name = имя таблицы

engine = create_engine("mysql+pymysql://root:12345@localhost:3306/olympic")
df.to_sql("olympic_data", con=engine)
В этом примере:
db_username = root
db_password = 12345
hostname = localhost:3306
database_name = olympic
table_name = olympic_data
Теперь ваши данные загружены в MySQL Workbench, просто обновитесь:

Замечание. Если ваш MySQL Workbench содержит “@”, то создайте нового пользователя (NEW User).
Обратные ссылки
Нет обратных ссылок
Комментарии
Показывать комментарии Как список | Древовидной структурой
Автор не разрешил комментировать эту запись
Импорт из xls в MySQL
Для одного проекта надо перенести данные из экселевского файла в MySQL. В файле три листа.
Какие программы существуют для этого?

1 сообщение
# 15 лет назад
Самый простой вариант — экспортировать как csv вручную каждый лист. В mysql загрузить через phpmyadmin, который понимает csv.

127 сообщений
# 15 лет назад
Можно скриптом на PHP импортировать XLS в базу, если вас интересует серверное решение.

115 сообщений
# 15 лет назад
Где можно найти уже готовый скрипт?
Самый простой вариант — экспортировать как csv вручную каждый лист. В mysql загрузить через phpmyadmin, который понимает csv.
Пытался. Возникли проблемы.

127 сообщений
# 15 лет назад
Ну у меня есть такой. если очень надо могу скинуть в личку или на мыло, там два примера будет, один для импорта, другой для экспорта, только дорабатывать придётся уже вам или програмисту для именно вашей базы или там ваших нужд.

115 сообщений
# 15 лет назад

127 сообщений
# 15 лет назад
Ушло. Попробуйте сперва экспорт, он создаст файл xls, потом импорт, он выведет таблицу, если все ОК подставте свой xls файл. Для работы корректной с русскими строками надо что бы PHP имело расширение mb_encoding.

115 сообщений
# 15 лет назад
Ага, спасибо.

49 сообщений
# 15 лет назад
Скачайте, поставьте на локальной машине программу mysql-front, она многое что умеет, тем более отменно работает с xls. Жаль только что поддержка этой программы уже не производится.. А в целом в работе с Бд пользуюсь в 90% случаев ей.

2 сообщения
# 15 лет назад
Цитата («sa_t_an»):
Ну у меня есть такой. если очень надо могу скинуть в личку или на мыло, там два примера будет, один для импорта, другой для экспорта, только дорабатывать придётся уже вам или програмисту для именно вашей базы или там ваших нужд.
Привет. А мне можеш скинуть на *** ? Очень хочу посмотреть твоё решение задачи.

120 сообщений
# 15 лет назад

127 сообщений
# 15 лет назад
Всем отправил.

2206 сообщений
# 15 лет назад
Что то вы мудрите товарищи Все уже существует. Navicat MySQL Navigator. Поддерживает экспорт/импорт кучи форматов, в том числе и xls.

127 сообщений
# 15 лет назад
Navicat MySQL Navigator это типа вы считаете серверным решением
Кстати коммерческими решениями не очень хорошо пользоваца не имея лицензии, но ето у меня наверно такой бзик.

2206 сообщений
# 15 лет назад
Цитата («sa_t_an»):
Navicat MySQL Navigator это типа вы считаете серверным решением
А где написано что нужно серверное решение?
Для одного проекта надо перенести данные из экселевского файла в MySQL. В файле три листа.
Какие программы существуют для этого?
Кстати коммерческими решениями не очень хорошо пользоваца не имея лицензии, но ето у меня наверно такой бзик.
А где я призывал пользоваться без лицензии?