Как я могу загрузить файл .xls в базу данных mysql в php?

0

Мне нужна полная противоположность .

Я хочу загрузить файл .xls, полный электронных писем, в столбец базы данных.

Какой самый простой способ сделать это?

Теги:
xls

3 ответа

1
Лучший ответ

Как сказал Пони, вам придется сначала "Сохранить как > CSV", затем загрузите и сделайте все. Часто разрешения не позволяют этого оператора SQL. Мой личный фаворит использует csv2sql.com, потому что он будет делать тяжелую работу и даст вам SQL, чтобы просто выполнить, однако вы могли бы использовать fgetcsv, который будет более безопасным, и что-то, что вы можете реализовать в script.

С помощью fgetcsv вы можете сделать что-то вроде этого, предполагая, что у вас только один файл с указанными адресами электронной почты:

$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        //echo "<p> $num fields in line $row: <br /></p>\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
            if ($c==0){
                 //This is the first column
                 //Just run a generic MySQL insert command here (see below for link for more info on this)
            }
        }
    }
    fclose($handle);
}

Учебник по PHP MySQL Вставьте: W3Schools. Это должно заставить вас продолжать эту работу.

1

Вы можете использовать PHPExcel, который может читать большинство форматов файлов Excel (BIFF5, BIFF8, ​​spreadsheetML). К сожалению, документы проекта находятся в текстовом файле, поэтому не могут напрямую ссылаться на конкретный раздел, но в разделе 6.4.1/стр. 37 этого file.

1
  • Экспорт таблицы Excel в формат CSV
  • Используйте MySQL LOAD DATA INFILE синтаксис для использования CSV файла, созданного на шаге 1, используя:

    LOAD DATA INFILE 'data.txt' INTO TABLE tbl_name
      FIELDS TERMINATED BY ',' ENCLOSED BY '"'
      LINES TERMINATED BY '\r\n'
      IGNORE 1 LINES;
    

Файл должен быть локально доступен для экземпляра MySQL, поэтому вам придется загружать его, если сервер физически недоступен.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню