А я напьюсь безалкогольной водки в компании своих воображаемых друзей.
Дальнейшая простыня вряд ли интересна не программистам Вообще казалось бы вынесенная в заголовок задача не должно быть сложной, да и гугл дает кучу ссылок, в том числе на хабр, однако для того чтобы сделать выгрузку БД с сайта в эксель мне пришлось несколько помучаться.
С модулем Spreadsheet_Excel_Writer я предпочел не связываться, по причине отсутствия необходимых ему модулей php на трех имеющихся у меня в наличии для тестирования серверах, хочется все-таки сделать код перетаскиваемый между серверами легко и просто. php_write_excel оттолкнул полным отсутствием документации при необходимости сделать работу быстро (хотя в дальнейшем я хочу с этим модулем поразбираться).
В итоге я выбрал самый простейший способ из найденных в интернете - выведение стандартной html таблицы под видом xls-файла. На этом пути лично у меня возникла проблема с кодировкой, эксель упорно не хотел видеть кириллицу в честном Windows-1251. В итоге рабочей оказалась следующая конструкция.
Соответственно iconv нужен в случае если данные в БД пишутся в utf-8, htmlentities переводит в доступный экселю формат. Попытка применить htmlentities к тексту в utf-8 привела к очень большому количеству китайских иероглифов в экселе.
Этот способ не позволяет (а может и позволяет, но я пока не научился) хорошо оформлять текст, но для генерации простенького .xls файла вполне пригоден. Данные потом нормально просматриваются, редактируются и сохраняются в экселе. Во всяком случае в 2003.
Надеюсь этот пост кому-нибудь поможет в решении аналогичной задачи.
Crazy Sage, абсолютно прекрасно, т.е. не надо заранее переводить =) единственно что у меня все данные в оракле в 1251 кодировке сделаны, с utf-8 не проверял.
Довольно простой в обращении, минус только в том что нет оформления, да мне оно и не нужно особо было.