PHPПрограммисту

SimpleXLSXGen быстрый экспорт в XLSX

Запилил небольшой, но очень полезный класс для экспорта в Excel

SimpleXLSXGen

$books = [
    ['ISBN', 'title', 'author', 'publisher', 'ctry' ],
    [618260307, 'The Hobbit', 'J. R. R. Tolkien', 'Houghton Mifflin', 'USA'],
    [908606664, 'Slinky Malinki', 'Lynley Dodd', 'Mallinson Rendel', 'NZ']
];
$xlsx = SimpleXLSXGen::fromArray( $books );
$xlsx->saveAs('books.xlsx');

Создание Excel файлов в PHP ещё никогда не было таким простым.

Related Articles

9 комм.

  1. Как можно разбить(отфоматировать) по табам эксель файл с помощью Вашей библиотеки?

  2. добрый день.
    при генерации и скачивании с использованием SimpleXLSXGen достаточно большого файла (12МБ 147 столбцов / 35901 строк) все отрабатывает без ошибок, но при открытии скачанного файла ексель (офис 2016) выдает сообщение –

    “Ошибка в части содержимого в книге “Название книги.xlsm”. Выполнить попытку восстановления? Если вы доверяете источнику, из которого была получена книга, нажмите кнопку “да”.”

    после восстановления –
    “Была выполнена проверка на уровне файла с последующим восстановлением файла. Некоторые фрагменты документа могли быть восстановлены либо удалены.
    Восстановленный компонент: Компонент /xl/worksheets/sheet1.xml. ”
    или
    “Excel удалось открыть файл, восстановив или удалив нечитаемое содержимое.
    Восстановленный компонент: Компонент /xl/worksheets/sheet1.xml. ”

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

    при этом если уменьшить объем данных, убрать примерно 2-3 тысячи сорок или 5-10 столбцов (в зависимости от объема содержимого), то файл после скачивания открывается без проблем. это не зависит от конкретных строк или столбцов я пробовал убирать их в различных комбинациях, конкретные строки и столбцы не виноваты.

    вы не могли бы посоветовать в какую сторону копать?

    с уважением,
    Николай.

  3. Здравствуйте!
    Выполняю запрос вида-“SELECT TO_CHAR(DATE, ‘DD.MM.YYYY’) AS Дата, TO_CHAR(DATE, ‘HH24:MI:SS’) AS Время FROM…
    Наполняю массив $result и использую Ваш класс-
    $xlsx = Shuchkin\SimpleXLSXGen::fromArray($result);
    $xlsx->saveAs($file);
    Создаётся файл *.xlsx, в котором поле “Время” выглядит, как [часы : минуты] без секунд, хотя секунды в ячейке есть, если стать на нее.
    Как добиться отображения секунд без ручного выбора формата ячеек?

  4. Raw String, подразумевает подачу на вход класса данных типа DATETIME (‘dd.mm.yyyy hh24:mi:ss’) и так оно действительно работает правильно. Но мне необходимо подавать на вход класса разбитый на дату и время массив. Отдельный столбец для даты и отдельный столбец время и в этом случае, в столбце время не видно секунд.

    1. Там этого не подразумевается, Raw String означает – это простая строка, не включать определение типа

Добавить комментарий

Ваш адрес email не будет опубликован.

Back to top button
Close
Close