Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия | |||
— | csv [2024/02/12 23:01] (текущий) – darkfire | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== XLSX, CSV в MySQL с помощью PHP ====== | ||
+ | {{htmlmetatags> | ||
+ | metatag-description=(Импорт данных из XLSX, CSV при помощи PHP в MySQL) | ||
+ | }} | ||
+ | |||
+ | **CSV** (Comma-Separated Values — значения, | ||
+ | |||
+ | CSV и [[PHP]]. | ||
+ | * [[http:// | ||
+ | ===== Примеры импорта экспорта CSV ===== | ||
+ | * [[http:// | ||
+ | * [[Как в PostgreSQL сохранить данные в формате csv]]? | ||
+ | * [[MySQL]]. Источник: | ||
+ | SELECT * INTO OUTFILE '/ | ||
+ | FIELDS TERMINATED BY ';' | ||
+ | LINES STARTING BY '' | ||
+ | FROM user; | ||
+ | </ | ||
+ | * При помощи PHP создание csv файла из данных таблицы MySQL< | ||
+ | $select = " | ||
+ | |||
+ | $export = mysql_query ( $select ) or die ( "Sql error : " . mysql_error( ) ); | ||
+ | |||
+ | $fields = mysql_num_fields ( $export ); | ||
+ | |||
+ | for ( $i = 0; $i < $fields; $i++ ) | ||
+ | { | ||
+ | $header .= mysql_field_name( $export , $i ) . " | ||
+ | } | ||
+ | |||
+ | while( $row = mysql_fetch_row( $export ) ) | ||
+ | { | ||
+ | $line = ''; | ||
+ | foreach( $row as $value ) | ||
+ | { | ||
+ | if ( ( !isset( $value ) ) || ( $value == "" | ||
+ | { | ||
+ | $value = " | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | $value = str_replace( '"' | ||
+ | $value = '"' | ||
+ | } | ||
+ | $line .= $value; | ||
+ | } | ||
+ | $data .= trim( $line ) . " | ||
+ | } | ||
+ | $data = str_replace( " | ||
+ | |||
+ | if ( $data == "" | ||
+ | { | ||
+ | $data = "\n(0) Records Found!\n"; | ||
+ | } | ||
+ | |||
+ | header(" | ||
+ | header(" | ||
+ | header(" | ||
+ | header(" | ||
+ | print " | ||
+ | </ | ||
+ | |||
+ | ===== Формат файла .xlsx ===== | ||
+ | Формат файла **.xlsx** основан на Open XML. Для уменьшения размера файла используется сжатие [[ZIP]]. | ||
+ | |||
+ | Файлы xlsx совместимы и с более старыми версиями Microsoft Office - 2000, XP, 2003. Но для этого необходимо установить специальный компонент. | ||
+ | |||
+ | <note warning> | ||
+ | ===== Пример импорта xlsx в MySQL ===== | ||
+ | |||
+ | Используется PHP класс [[https:// | ||
+ | |||
+ | - скачиваем класс SimpleXLSX< | ||
+ | git clone https:// | ||
+ | </ | ||
+ | - Код преобразующий xlsx в csv<file php> | ||
+ | <?php | ||
+ | |||
+ | include_once(' | ||
+ | |||
+ | $file_out=' | ||
+ | |||
+ | $xlsx = SimpleXLSX:: | ||
+ | $fp=fopen($file_out,' | ||
+ | foreach( $xlsx-> | ||
+ | fputcsv($fp, | ||
+ | } | ||
+ | fclose($fp); | ||
+ | </ | ||
+ | - Преобразуем файл XLSX в [[massivy_php|PHP массив]] и импортировать его в базу данных, | ||
+ | |||
+ | try { | ||
+ | $etdb = new PDO(' | ||
+ | ET_MYSQL_HOST . | ||
+ | '; | ||
+ | } catch (PDOException $e) { | ||
+ | print " | ||
+ | } | ||
+ | // Clear Table | ||
+ | $etdb-> | ||
+ | |||
+ | $xlsx = SimpleXLSX:: | ||
+ | |||
+ | // Insert rows from xlsx | ||
+ | $stmt = $etdb-> | ||
+ | (sku, name, color, price_opt, price_retail, | ||
+ | description, | ||
+ | VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); | ||
+ | $stmt-> | ||
+ | $stmt-> | ||
+ | $stmt-> | ||
+ | $stmt-> | ||
+ | $stmt-> | ||
+ | $stmt-> | ||
+ | $stmt-> | ||
+ | $stmt-> | ||
+ | $stmt-> | ||
+ | $stmt-> | ||
+ | $stmt-> | ||
+ | $stmt-> | ||
+ | $stmt-> | ||
+ | $stmt-> | ||
+ | |||
+ | |||
+ | foreach ($xlsx-> | ||
+ | { | ||
+ | $sku = $fields[1]; | ||
+ | $name = $fields[2]; | ||
+ | $color = $fields[3]; | ||
+ | $price_opt = $fields[4]; | ||
+ | $price_retail = $fields[5]; | ||
+ | $size = $fields[6]; | ||
+ | $type = $fields[7]; | ||
+ | $category = $fields[8]; | ||
+ | $brand = $fields[9]; | ||
+ | $url_to_shop = $fields[10]; | ||
+ | $consist = $fields[11]; | ||
+ | $description = $fields[12]; | ||
+ | $fotos = $fields[13]; | ||
+ | $sex = $fields[14]; | ||
+ | |||
+ | $stmt-> | ||
+ | } | ||
+ | |||
+ | // Delete row with names of field | ||
+ | $etdb-> | ||
+ | </ |
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга