PHP импортирует Excel в базу данных (xls & xlsx)

Я попытался найти некоторые плагины для импорта файла Excel в базу данных MySQL, одним из которых является http://code.google.com/p/phpexcel-reader/

Инструмент настолько мощный, что он отображает весь контент excel в html.

  • Сглаживание многомерных массивов, объединяющих ключи
  • Хранимые процедуры, MySQL и PHP
  • Можете ли вы динамически создавать свойства экземпляра в PHP?
  • Как получить расширение файла в PHP?
  • Facebook OAuth redirect_uri problem «Данный URL-адрес не разрешен конфигурацией приложения».
  • «Надежный» SMS-код Unicode и GSM-кодирование в PHP
  • Однако, мне кажется, мне просто нужно прочитать файл Excel и извлечь содержимое, например, в массив, а затем написать инструкцию SQL для ввода в базу данных.

    Будут ли хорошие коды и пакеты? Благодаря!

    5 Solutions collect form web for “PHP импортирует Excel в базу данных (xls & xlsx)”

    Это лучший плагин с соответствующей документацией и примерами

    https://github.com/PHPOffice/PHPExcel

    Плюс: вы можете попросить о помощи на своем форуме, и вы получите ответ в течение дня от самого автора, действительно впечатляющий.

    Иногда мне нужно импортировать большие файлы xlsx в базу данных, поэтому я использую spreadsheet-reader как она может читать файл за строку. Это очень экономичный способ импорта.

     <?php // If you need to parse XLS files, include php-excel-reader require('php-excel-reader/excel_reader2.php'); require('SpreadsheetReader.php'); $Reader = new SpreadsheetReader('example.xlsx'); // insert every row just after reading it foreach ($Reader as $row) { $db->insert($row); } ?> 

    https://github.com/nuovo/spreadsheet-reader

    Если вы можете конвертировать .xls в .csv перед обработкой, вы можете использовать следующий запрос, чтобы импортировать csv в базу данных:

     load data local infile 'FILE.CSV' into table TABLENAME fields terminated by ',' enclosed by '"' lines terminated by '\n' (FIELD1,FIELD2,FIELD3) 

    Если вы сохраните файл excel в виде CSV-файла, вы можете импортировать его в базу данных mysql с помощью таких инструментов, как PHPMyAdmin

    Я не уверен, поможет ли это в вашей ситуации, но файл csv вручную или программно будет намного проще анализировать в базе данных, чем файл excel, о котором я думал.

    EDIT: Я бы предложил посмотреть другие ответы, а не мои, поскольку ответ @diEcho кажется более уместным.

    Я написал унаследованный класс:

     <?php class ExcelReader extends Spreadsheet_Excel_Reader { function GetInArray($sheet=0) { $result = array(); for($row=1; $row<=$this->rowcount($sheet); $row++) { for($col=1;$col<=$this->colcount($sheet);$col++) { if(!$this->sheets[$sheet]['cellsInfo'][$row][$col]['dontprint']) { $val = $this->val($row,$col,$sheet); $result[$row][$col] = $val; } } } return $result; } } ?> 
    PHP is the Best Programming Language in the world.