PHP: работа с файлами Excel

Одним из вариантов работы с файлами Эксель является библиотека PhpSpreadsheet.

Установка:

Как много нам открытий чудных (с)

А вы знали, что ячейку в Excel можно разделить диагональной линией? Вот так:

Для этого достаточно в свойствах ячейки в «границах» щелкнуть по середине окна (там где точка оранжевая). Ну соответственно в связи с этим открываются возможности для всяких извращений типа с заголовками типа:

Линию подчеркивания закрасить белым цветом




jqgrid-free экспорт в эксель

В «свободном» форке jqgrid, к сожалению нет «встроенного» способа сформировать на основании таблицы файл Excel. Однако можно использовать сторонний способ https://github.com/SheetJS/sheetjs

Тогда код может получиться примерно следующий:




Экспорт из jqGrid в Excel часть 2

Описанный вот здесь способ таки оказался неудобен. Однако я вспомнил что Excel отлично открывает файл в формате xml. И формат этот хорошо описан здесь. Так почему бы не формировать xml файл? Сказано — сделано. Код видоизменился в :




Экспорт из jqGrid в Excel

Вариантов на текущий момент два: использовать серверную часть проекта jqgrid-php, и перелопачивать таким образом свой код или написать обработчик на JavaScript который будет формировать файл формата csv. Я предпочел второй вариант. Однако столкнулся с «подводным» камнем. А именно, сайт у меня в кодировке utf8, а виндовый офис (с OpenOffice  и LibreOffice проблем нет) по умолчанию думает что всё что csv, то в формате windows-1251, и нет даже диалога выбора кодировки. Потому для устранения сей пришлось пойти на некоторую хитрость — формирую не файл не с расширением csv, а с расширением txt, с разделителем колонок — табуляция. А далее уже в Excel загружаю его через: Данные — Получение внешних данных — Из текста.

» Читать далее