Intereting Posts
Какой метод предпочтительнее для проверки строки после импорта csv Добавьте заголовок к каждому запросу с использованием .htaccess Доступ к многомерному массиву с помощью строки с разделителем Проверка ошибок для подготовленных заявлений PDO Как исправить saveHTML (): преобразование вывода не удалось из-за ошибки conv? Реализация интернационализации (языковые строки) в приложении PHP почему xpath удаляет html специальные символы? Как преобразовать символы индикатора в Unicode экранированные символы Кэширование PHP – быстрее ли сохранять в базе данных или создавать файл? Загрузка видео на Youtube с использованием API данных Youtube V3 и клиента API Google PHP – получение сообщения 401 (несанкционированное) Pinging ip с портом, ничего не возвращает, PHP / APACHE Ограничить пользователя от несанкционированного доступа Сохранить значения флажка в Yii gridview pagination Ранжирование на основе размещения пользователей вместо оценки resize () не работает, используя класс манипуляции с изображениями

Каков наилучший способ создания файла XLS в PHP?

В настоящее время я пытаюсь найти лучший способ создать файл .xls с PHP. Мне кажется, что все, что мне нужно сделать, это изменить тип содержимого заголовка на «application / vnd.ms-excel», а затем вывести данные в формате, разделенном запятой. Это лучший способ сделать это?

Спасибо за любую помощь!
метрополия

РЕДАКТИРОВАТЬ

Было бы плохо, если бы вывести данные как HTML? У меня уже есть класс, который я хотел бы расширить для этой проблемы, поэтому я предпочел бы держаться подальше от стороннего решения. Мне просто нужно знать, какой лучший способ выводить данные, чтобы получить максимальную отдачу от этого формата.

Посмотрев на PHPExcel, это лучшее решение для этой проблемы. Я ценю все ваши ответы, и я бы дал три правильных ответа, если бы смог. Но голосуют надо делать 🙂

Зависит от необходимости файла CSV или файла XLS. Файл XLS может включать в себя информацию о форматировании для ячеек, а также блокировку строк и столбцов, защиту и другие функции, которые невозможны в файле CSV. Кроме того, имейте в виду, что Excel не правильно поддерживает кодированное содержимое UTF-8 при открытии файлов CSV.

Если вы хотите отформатированный XLS-файл, вам нужна библиотека, такая как PHPExcel, которая может записать файл с этим форматированием или COM, если вы работаете в Windows с установленным Excel

его довольно легко, потому что excel поддерживает html-код. Так что вам просто нужно добавить заголовок в верхнюю часть файла .. а затем эхом html-код!

header ( "Content-type: application/vnd.ms-excel" ); header ( "Content-Disposition: attachment; filename=foo_bar.xls" ); echo "<table><tr><th>Header1</th></tr><tr><td>value1</td></tr></table>"; 

это создаст файл excel!

Вы можете использовать один из форматов XML, который понимает Microsoft Office.

См. Сайт разработчика Microsoft OpenXML для подробностей / спецификаций.

На названном PHPExcel есть библиотека, на которую вы можете посмотреть, чтобы помочь вам в этом.

Конечно, все это зависит от того, что вы имеете в виду:

«получить максимальную отдачу от этого формата файла»

Если у вас просто простые таблицы без форматирования, файлы CSV могут быть вам нужны; однако, если вы хотите использовать больше функций электронной таблицы, я бы рекомендовал взглянуть на OpenXML.

Вы можете просто выводить html и более новые версии Excel, которые будут читать. Я не знаю, сколько форматирования вы можете сделать с этим, хотя.

Если вам нужны ввод данных, форматирование или формулы, у меня был успех с PHPExcel .

Мое предпочтение заключается в том, чтобы выписать файлы CSV. CSV – это очень простой формат для записи и легкое преобразование из существующих скриптов таблицы html. Он также имеет то преимущество, что он читается широким спектром программ для электронных таблиц, отличных от Microsoft. Если вы можете сделать CSV выбранным вами форматом файлов для своего веб-приложения, вы получите вознаграждение, когда вам нужно принять таблицу в качестве входных данных. Гораздо проще читать и анализировать CSV-файл, чем файл Excel.

Взгляните на этот пакет PEAR: электронная таблица Excel Writer

Отказ от ответственности: я работаю над «Ожидаемым поведением», компанией, которая разработала DocRaptor.

Тем не менее, вы можете использовать DocRaptor для генерации файлов XLS из HTML. DocRaptor – это проект Ruby on Rails, но вы можете использовать его с PHP. Вот наш пример PHP:

Пример PHP DocRaptor

Вот еще одна ссылка на домашнюю страницу DocRaptor:

HTML для Excel с DocRaptor

Попробуйте обертку файла XLS , а это сообщение на SO.

Да, это один из возможных способов – если вам нужен простой CSV-файл, который откроется в Ms Excel.

Если вам нужен богатый XLS-файл, существует множество опций, включая использование сторонних DLL, таких как «CarlosAg.ExcelXmlWriter.dll» для создания файла XLS. Вы можете найти образцы использования этой DLL в сети или посмотреть здесь

Вы можете начать использовать эти файлы. Он создаст файл excel и поможет вам загрузить его. Скачать код Souce или демо-версию здесь: http://purpledesign.in/blog/to-generate-excel-using-php/

Вы можете добавить такие строки в

01-простая загрузка-xlsx.php

 $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', 'Roll') ->setCellValue('B1', 'Name') ->setCellValue('C1', 'Total Classes') ->setCellValue('D1', 'Class Attended') ->setCellValue('E1', 'Percentage'); 

Вы можете печатать данные из такой базы данных, используя цикл while.

 $i=2; while ($row = $database->fetch_array($result)) { $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A'.$i, $row[0]) ->setCellValue('B'.$i, $row[1]) ->setCellValue('C'.$i, $row[2]) ->setCellValue('D'.$i, $total) ->setCellValue('E'.$i, round(($row[2]/$total)*100)); $i++; }