اگر به دنبال یک پکیج سبک و کم حجم برای نوشتن و خواندن فایل های اکسل هستید، لینن(Linen) همون چیزیه که دنبالش هستید. این پکیج یک پوسته بر روی کتابخانه openspout/openspout است که به شما اجازه می دهد با فایل های اکسل بروشی سریع و مقیاس پذیر کار کنید.
مثال های زیر نمونه هایی از پکیج Linen برای کار با صفحات گسترده است:
use Glhd\Linen\CsvReader;
use Glhd\Linen\ExcelReader;
$data = [
['user_id' => 1, 'name' => 'Chris', 'nullable' => null, 'number' => 40.2],
['user_id' => 10, 'name' => 'Bogdan', 'nullable' => 'not null', 'number' => -37],
];
// CSV
$collection = CsvReader::from('basic.csv')->collect();
$tempfile = CsvWriter::for($data)->writeToTemporaryFile();
// Excel
$collection = ExcelReader::from('basic.xlsx')->collect();
$tempfile = ExcelWriter::for($data)->writeToTemporaryFile();
Linen برخی ویژگی ها را نیز بر روی پکیج OpenSpout فراهم آورد که یکی از آنها استفاده از LazyCollection های لاراول در هنگام خواندن صفحات گسترده است. در صورتی که می خواهید از این پکیج استفاده کنید می توانید با استفاده از کامپوزر آنرا نصب نمائید.
composer require glhd/linen
برای کسب اطلاعات بیشتر و دسترسی به سورس کد می توانید به گیت هاب glhd/linen مراجعه کنید.