Импортиране и експортиране на Excel, CSV и ODS файлове чрез безплатна PHP библиотека

Open Source 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’, затварящата функция ви дава пълен контрол върху крайния изходен масив.

 Български