Могу ли я извлечь данные из файла .xls с помощью PHP, отсортировать и вызвать данные без MySQL? - PullRequest
1 голос
/ 28 ноября 2010

На данный момент я изучаю базовый PHP. У меня есть файл .xls (Excel, преобразованный из Numbers на Mac), который я хочу вызвать для данных.

В настоящее время в таблице 3 столбца: Имя команды, Конференция и Отдел, и для каждого столбца имеется 32 строки (не считая строки для меток)

Моя цель с помощью этой простой программы - прочитать в этой таблице и создать простой пользовательский интерфейс, чтобы при нажатии на подразделение отображались четыре команды в этом подразделении.

Можно ли это сделать без MySql? Должен ли я читать файл .xls в файл .html, где пользователь будет взаимодействовать с кнопками, или в файл .php, на который ссылается файл .html.

Ответы [ 3 ]

1 голос
/ 28 ноября 2010

Там PHPExcel , который может читать / записывать файлы .xls (фактические собственные .xls, а не .csv переименованные в .xls)

1 голос
/ 28 ноября 2010

Если вы откроете файл в Excel, перейдите в «Файл» и нажмите «Сохранить как», вы получите обычный диалог сохранения. Здесь выберите .csv, а не .xls. Этот формат понимают и PHP, и Excel.

Вызовите fgetcsv, чтобы прочитать данные из файла в массив, и fputcsv, чтобы записать один из этих массивов (измененных при необходимости) в файл CSV.

0 голосов
/ 28 ноября 2010

Для чтения файлов xls вы можете попробовать smt как this . Однако, по моему мнению, было бы намного проще, если вы сохраните свой xls как csv, а затем прочитаете его.

Для части no-mysql вы можете создать свою собственную структуру данных и использовать ее таким образом. Для этой цели вы можете использовать многомерные массивы.

Если скорость - это ключ, вы должны отсортировать данные на основе определенного столбца для более быстрого поиска (затем вы можете использовать бинарный поиск). Или, что еще лучше, вы можете использовать хеш-таблицы.

Вот описание чтения csv: http://php.net/manual/en/function.fgetcsv.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...