Spout
کتابخانه PHP برای فایلهای ODS، XLSX و CSV
کتابخانه PHP منبع باز برای ایجاد، خواندن و دستکاری صفحات گسترده از Excel® (XLSX، CSV) و OpenOffice™ (ODS).
اسپات چیست؟
Spout یک کتابخانه PHP منبع باز است که به توسعه دهندگان نرم افزار در کارهای دستکاری صفحه گسترده مانند خواندن و نوشتن فایل های ODS، XLSX و CSV کمک می کند. با Spout، توسعهدهندگان میتوانند صفحهگستردهها را از ابتدا با استایل سلول، ردیف و حاشیه ایجاد کنند و همچنین فایلهای موجود را برای ویرایش بارگذاری کنند.
Spout برای توسعهدهندگان مناسب است زیرا API ساده و یکپارچه را برای خواندن و ایجاد انواع مختلف صفحات گسترده ارائه میکند. همچنین امکان جابجایی از یک نوع صفحه گسترده به دیگری با حداقل تغییرات در کد را فراهم می کند. این میتواند فایلهای صفحهگسترده کوچک و همچنین بسیار بزرگ را مدیریت کند و در عین حال مصرف حافظه را بسیار کم نگه دارد. برای پردازش هر فایل صفحه گسترده فقط به 3 مگابایت حافظه نیاز دارد.
نحوه نصب کتابخانه PHP Spout
Spout به PHP نسخه 7.1 یا بالاتر نیاز دارد. پس از برآورده شدن پیش نیاز، Spout را از Composer نصب کنید.
Spout را از Composer نصب کنید
$ composer require box/spout
کتابخانه PHP برای خواندن و نوشتن ODS، XLSX و CSV
Spout توسعه دهندگان نرم افزار را قادر می سازد تا فایل های صفحه گسترده را از ابتدا در 3 فرمت محبوب ایجاد کنند. هنگام خواندن، Spout نوع صفحهخوانخوان را بر اساس پسوند فایل حدس میزند. در صورتی که پسوند استاندارد نباشد، می توان مستقیماً یک خواننده خاص ایجاد کرد.
خواندن ODS از طریق PHP
- یک خواننده برای فرمت فایل ODS ایجاد کنید
- مسیر فایل ODS را به روش بارگذاری عبور دهید تا آن را بخوانید
- تکرار بر روی کاربرگ های ODS از طریق getSheetIterator()
- تکرار روی ردیفهای کاربرگ از طریق getRowIterator()
- سلول های یک ردیف ODS را برای خواندن یا نوشتن دریافت کنید
خواندن ODS از طریق Spout - PHP Excel Library
use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;
$reader = ReaderEntityFactory::createODSReader('/path/to/file.ods');
$reader->open($filePath);
foreach ($reader->getSheetIterator() as $sheet) {
foreach ($sheet->getRowIterator() as $row) {
// do stuff with the row
$cells = $row->getCells();
...
}
}
$reader->close();
افزودن داده به صفحه گسترده موجود از طریق PHP
Spout به توسعه دهنده این امکان را می دهد که صفحه گسترده موجود را با افزودن داده به آن به روز کند. این یک روش بسیار متداول است که داده های جدید را به صفحه گسترده موجود اضافه کنید. Spout API نمایش کامل صفحه گسترده را در حافظه نگه نمی دارد تا از مشکلات حافظه در حین کار با صفحات گسترده بزرگ جلوگیری کند. برای اصلاح یک صفحه گسترده، یک نمونه جدید مشابه نمونه موجود ایجاد کنید و داده های مورد نیاز را به صفحه گسترده جدید اضافه کنید.
خواندن داده ها از یک برگه خاص
Spout API به توسعه دهندگان PHP امکان دسترسی و خواندن داده ها از یک صفحه خاص در داخل یک صفحه گسترده را می دهد. معمولاً یک صفحه گسترده حاوی چندین کاربرگ است. اگر کاربر علاقه مند است داده ها را فقط از یک برگه بخواند و از برگه های دیگر رد شود. کاربران فقط باید نام و موقعیت صفحه گسترده را بدانند.