واردات و صادرات Excel، CSV و ODS از طریق کتابخانهٔ رایگان PHP

API متن باز PHP که به توسعه‌دهندگان نرم‌افزار امکان واردات و صادرات فایل‌های 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 تولید کنید. این ویژگی کدهای تکراری را حذف کرده و توسعه را سرعت می‌بخشد، به‌ویژه برای داشبوردها یا سیستم‌های گزارش‌گیری. مثال زیر نشان می‌دهد چگونه داده‌ها را با استفاده از کد PHP به فایل MS Excel XLSX صادر کنید. این کتابخانه مجموعه 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 پشتیبانی از مصرف کم حافظه و سینتکس ساده برای واردات یا صادرات داده‌ها را شامل می‌شود. این ویژگی اصلی برای کار با «داده‌های بزرگ» است. به‌جای بارگذاری یک میلیون کاربر در یک آرایه، از cursor() لاراول یا یک ژنراتور yield سفارشی استفاده می‌کنید. صادرکننده هر ردیف را یکی‌یکی پردازش می‌کند، آن را در فایل می‌نویسد و از حافظه حذف می‌نماید. این کار مصرف حافظه شما را ثابت (بسیار کم) نگه می‌دارد، صرف‌نظر از اینکه ۱۰۰ ردیف یا ۱۰ میلیون ردیف را صادر می‌کنید.

چگونه فیلدهای خاص را با سرصفحه‌های سفارشی در برنامه‌های 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 می‌تواند هر ردیف را پردازش کرده و مستقیماً در پایگاه داده شما وارد کند. این برای بارگذاری‌های انبوه توسط مدیران ایده‌آل است و مزایای زیادی مانند درج انبوه در پایگاه داده، کد تمیزتر، پردازش دستی کمتر، جریان کار آسان برای مدیران و غیره دارد. این به‌ویژه برای سیستم‌های منابع انسانی، CRMها و پلتفرم‌های تجارت الکترونیک مفید است. در اینجا یک مثال مفید آورده شده است که نشان می‌دهد چگونه داده‌ها را در یک پایگاه داده داخل برنامه‌های 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’ به ‘شناسه کارمند’، این بسته‌بندی به شما کنترل کامل بر آرایه خروجی نهایی می‌دهد.

 فارسی