Імпорт та експорт Excel, CSV та ODS файлів за допомогою безкоштовної PHP бібліотеки

Відкритий PHP API, який дозволяє розробникам програмного забезпечення імпортувати та експортувати файли MS Excel. Дізнайтеся про його функції, переваги та приклади коду для ефективної роботи з великими наборами даних.

Що таке Fast-Excel?

Fast-Excel — це легкий PHP‑пакет, створений для спрощення операцій імпорту/експорту Excel та CSV у Laravel‑додатках. Побудований на базі OpenSpout, він орієнтований на швидкість, низьке споживання пам’яті та зручний для розробників синтаксис. На відміну від важчих бібліотек електронних таблиць, Fast-Excel ідеальний для проєктів, яким потрібна проста та ефективна робота з таблицями без зайвої складності. Він підтримує експорт та імпорт файлів XLSX, CSV та ODS, при цьому споживання пам’яті залишається надзвичайно низьким.

Fast-Excel особливо корисний для розробників, яким потрібно обробляти великі файли Excel, CSV або ODS без проблем з обмеженням пам'яті. Традиційні бібліотеки часто завантажують весь набір даних у пам'ять, але Fast-Excel використовує технології потокової обробки для ефективного керування даними. Бібліотека широко використовується для експорту записів бази даних у електронні таблиці, імпорту даних користувачів або звітів, динамічного генерування великих звітів, спрощення роботи з Excel у додатках Laravel тощо. Завдяки чистому API та мінімальній конфігурації Fast-Excel скорочує час розробки та підвищує продуктивність.

Previous Next

Початок роботи з Fast-Excel

Рекомендований спосіб встановлення Fast-Excel у ваш проєкт — використання Composer. Будь ласка, скористайтеся наступною командою для безпроблемної інсталяції

Встановіть Fast-Excel через Composer

 composer require rap2hpoutre/fast-excel

Ви також можете клонувати проєкт за допомогою Git, виконавши

Експорт колекцій у файли Excel за допомогою PHP

Fast-Excel робить експорт колекцій або моделей до Excel надзвичайно простим. За кілька рядків коду ви можете створювати файли .xlsx, .csv або .ods. Ця функція усуває шаблонний код і прискорює розробку, особливо для панелей інструментів або систем звітності. Наведений нижче приклад демонструє, як експортувати дані у файл MS Excel XLSX за допомогою PHP-коду. Бібліотека перетворює колекцію Laravel безпосередньо у файл Excel без необхідності складних налаштувань.

Як експортувати дані у файл Excel XLSX за допомогою PHP-бібліотеки?

use Rap2hpoutre\FastExcel\FastExcel;
// Sample data
$list = collect([
    ['id' => 1, 'name' => 'Jane'],
    ['id' => 2, 'name' => 'John'],
]);
// Export to Excel
(new FastExcel($list))->export('users.xlsx');

Ефективний за пам'яттю поетапний експорт за допомогою генераторів

Бібліотека Fast-Excel з відкритим кодом включає підтримку низького використання пам'яті та простий синтаксис для імпорту та експорту даних. Це головна функція для роботи з «великими даними». Замість завантаження 1 мільйона користувачів у масив, ви використовуєте cursor() Laravel або власний генератор yield. Експортер обробляє кожен рядок окремо, записує його у файл і звільняє з пам'яті. Це підтримує постійне (дуже низьке) використання пам'яті незалежно від того, чи експортуєте ви 100 рядків чи 10 мільйонів рядків.

Як експортувати конкретні поля з користувацькими заголовками у PHP-додатках?

return (new FastExcel(User::all()))->export('formatted_users.xlsx', function ($user) {
    return [
        'Full Name' => $user->firstname . ' ' . $user->lastname,
        'Email Address' => $user->email,
        'Member Since' => $user->created_at->format('Y-m-d'),
        'Status' => $user->is_active ? 'Active' : 'Suspended'
    ];
});

Імпорт даних безпосередньо в базу даних

Замість ручного імпорту рядків Fast-Excel може обробляти кожен рядок і безпосередньо вставляти його у вашу базу даних. Це ідеально підходить для масових завантажень адміністратором і має великі переваги, такі як масове вставлення в базу даних, чистіший код, менше ручної обробки, прості робочі процеси адміністратора тощо. Це особливо корисно для HR‑систем, CRM та eCommerce платформ. Ось корисний приклад, який показує, як імпортувати дані в базу даних у PHP‑застосунках.

Як імпортувати дані безпосередньо в базу даних за допомогою PHP-бібліотеки?

use Rap2hpoutre\FastExcel\FastExcel;
use App\Models\User;

(new FastExcel)->import('users.xlsx', function ($line) {
    return User::create([
        'name' => $line['Name'],
        'email' => $line['Email'],
    ]);
});

Кастомне відображення стовпців та форматування за допомогою PHP

Стовпці бази даних не завжди зрозумілі людям. Бібліотека Fast-Excel включила повну підтримку кастомного відображення та форматування стовпців або рядків. Ця функція дозволяє точно визначити, які атрибути експортувати, і переоформити їх значення «на льоту». Якщо потрібно перетворити прізвище у верхній регістр, об’єднати ім’я та прізвище, або перейменувати ‘user_id’ на ‘Employee Identifier’, замикання дає вам повний контроль над кінцевим масивом результату.

 Українська