Как загрузить данные из excel в mysql
Перейти к содержимому

Как загрузить данные из excel в mysql

  • автор:

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

Загрузка 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.

    Если Вы не хотите пропустить новые материалы на сайте,
    то Вы можете подписаться на обновления: Подписаться на обновления

    Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

    Порекомендуйте эту статью друзьям:

    Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

    1. Кнопка:
      Она выглядит вот так:
    2. Текстовая ссылка:
      Она выглядит вот так: Как создать свой сайт
    3. 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), который можно настроить и повторно использовать позже.

    Запуск мастера SSMS

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

    Подключение к источнику данных Excel

    Дополнительные сведения см. в следующих статьях:

    • Запуск мастера импорта и экспорта 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

    1. Чем больше данных, тем больше времени займет загрузка данных в MySQL Workbench.
    2. Не нужно создавать схему таблицы, 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.

    Tan Sa

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

    Марк Г.

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

    Где можно найти уже готовый скрипт?

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

    Пытался. Возникли проблемы.

    Tan Sa

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

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

    Марк Г.

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

    Tan Sa

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

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

    Марк Г.

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

    Сергей Б.

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

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

    Андрей В.

    2 сообщения
    # 15 лет назад
    Цитата («sa_t_an»):

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

    Привет. А мне можеш скинуть на *** ? Очень хочу посмотреть твоё решение задачи.

    Антон Сердюк

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

    Tan Sa

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

    Максим Б.

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

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

    Tan Sa

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

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

    Максим Б.

    2206 сообщений
    # 15 лет назад
    Цитата («sa_t_an»):

    Navicat MySQL Navigator это типа вы считаете серверным решением

    А где написано что нужно серверное решение?

    Для одного проекта надо перенести данные из экселевского файла в MySQL. В файле три листа.
    Какие программы существуют для этого?

    Кстати коммерческими решениями не очень хорошо пользоваца не имея лицензии, но ето у меня наверно такой бзик.

    А где я призывал пользоваться без лицензии?

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *