PHPSpreadsheet

 
 

کتابخانه PHP منبع باز برای فایل های صفحه گسترده

خواندن، نوشتن، دستکاری و پردازش فایل های Microsoft Excel و LibreOffice Calc.

PHPSpreadsheet یک کتابخانه منبع باز است که شامل مجموعه ای از کلاس ها است تا به شما امکان تعامل و استفاده از فرمت های مختلف فایل صفحه گسترده Microsoft Excel و LibreOffice Calc را می دهد. PHPSpreadsheet از صفحات گسترده‌ای پشتیبانی می‌کند که حاوی یک یا چند کاربرگ هستند، حاوی سلول‌هایی برای نگهداری داده‌هایی از انواع مختلف، مانند اعداد، فرمول‌ها، تصویر و غیره.

Previous Next

شروع کار با PHPSpreadsheet

اول از همه باید PHP نسخه 7.1 یا جدیدتر را داشته باشید تا با استفاده از PhpSpreadsheet توسعه دهید. روش توصیه شده برای نصب PhpSpreadsheet در پروژه خود استفاده از composer است. ترمینال را در دایرکتوری ریشه پروژه خود باز کنید و دستور زیر را اجرا کنید:

دستور اینجاست

 composer require phpoffice/phpspreadsheet 

Composer یک نصب کننده راحت ارائه می دهد که می توانید مستقیماً از خط فرمان آن را اجرا کنید. به راحتی این فایل را دانلود کنید یا آن را در GitHub بررسی کنید. دو راه برای نصب وجود دارد. آهنگساز. آن را به صورت محلی به عنوان بخشی از پروژه خود یا به صورت جهانی به عنوان یک قابل اجرا در سراسر سیستم نصب کنید.

با سلول های صفحه گسترده کار کنید

PHPSpreadsheet به شما امکان می دهد به سلول دسترسی داشته باشید و مقدار آن را با مختصات تنظیم کنید. همچنین می توانید یک سلول جدید ایجاد کنید و یک فرمول در آن تنظیم کنید. همچنین می‌توانید سلول را به گونه‌ای پیکربندی کنید که انواع مختلفی از داده‌ها را اشغال کند، مانند تاریخ، زمان و شماره با صفرهای ابتدایی. PHPSpreadsheet همچنین به شما این امکان را می دهد که محدوده ای از سلول ها را از یک آرایه تنظیم کنید و همچنین با استفاده از تکرار کننده ها یا نمایه ها از طریق سلول ها حلقه بزنید. همچنین می‌توانید از کلاس‌بندی‌های ارزش برای اجازه دادن کاربرپسند به ورود داده‌ها استفاده کنید.

یک XLSX جدید - PHP ایجاد کنید

<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// Create a new Spreasheet
$spreadsheet = new Spreadsheet();
// Get active sheet
$sheet = $spreadsheet->getActiveSheet();
// Set cell value
$sheet->setCellValue('A1', 'File Format Developer Guide !');
// Save in Xlsx format
$writer = new Xlsx($spreadsheet);
$writer->save('FileFormat.xlsx');

ایجاد و اعمال فیلترهای خودکار

با استفاده از PHPSpreadsheet، می‌توانید محدوده‌های فیلتر خودکار را برای فیلتر کردن و نمایش تنها ردیف‌هایی اعمال کنید که با معیارهایی که در فیلتر خودکار تعریف کرده‌اید مطابقت دارند. می توانید فیلترها را به عنوان افزودنی در بیش از یک ستون اعمال کنید.

PHPSpreadsheet به شما این امکان را می دهد که یک ناحیه فیلتر خودکار را روی یک کاربرگ تنظیم کنید. شما می توانید عبارات فیلتر خودکار ایجاد کنید، بخوانید و بنویسید. علاوه بر این، انواع مختلفی از فیلترها در دسترس هستند، مانند فیلترهای ساده، جاهای خالی منطبق، فیلترهای DateGroup، فیلترهای سفارشی، فیلترهای پویا و ده فیلتر برتر.

فیلتر خودکار را در XLSX - PHP اعمال کنید

<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// Load existing file without filters 
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load('withoutFilter.xlsx');
// Select active worksheet
$spreadsheet->setActiveSheetIndex(0);
$spreadsheet->getActiveSheet()->setAutoFilter($spreadsheet->getActiveSheet()->calculateWorksheetDimension());
// Set active filters
$autoFilter = $spreadsheet->getActiveSheet()->getAutoFilter();
// Filter the Country column on a filter value of Germany
$autoFilter->getColumn('C')
  ->setFilterType(Column::AUTOFILTER_FILTERTYPE_FILTER)
  ->createRule()
  ->setRule(
    Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
    'Germany'
  );
// Save file
$writer = new Xlsx($spreadsheet);
$writer->save('Filter.xlsx');

موتور محاسبه فرمول

برای انجام محاسبات سطح پایه تا پیشرفته در صفحات گسترده کسب و کار خود، می توانید به راحتی موتور محاسبه فرمول PHPSpreadsheet را فراخوانی کنید و بقیه کارها را انجام می دهد.

تجزیه کننده فرمول PHPSpreadsheet می تواند به طور خودکار یک فرمول را هنگام درج/حذف سطرها/ستون ها تنظیم کند. فرمول مایکروسافت اکسل قبل از اجرا به کد PHP تبدیل می شود. برای افزایش کارایی، از کش محاسبه برای نگهداری نتیجه فرمول استفاده می شود. به طور مشابه، هر کاربرگ جداگانه توسط یک کش جداگانه نگهداری می شود.

 فارسی