PHPSpreadsheet
Perpustakaan PHP Sumber Terbuka untuk Fail Hamparan
Baca, Tulis, Manipulasi dan Proses fail Microsoft Excel & LibreOffice Calc.
PHPSpreadsheet ialah perpustakaan sumber terbuka yang merangkumi satu set kelas untuk membolehkan anda berinteraksi dan menggunakan pelbagai format fail hamparan Microsoft Excel dan LibreOffice Calc. PHPSpreadsheet menyokong hamparan yang mengandungi satu atau lebih lembaran kerja, mengandungi sel untuk menyimpan data pelbagai jenis, seperti nombor, formula, imej, dsb.
Bermula dengan PHPSpreadsheet
Pertama sekali anda perlu mempunyai PHP versi 7.1 atau lebih baru untuk dibangunkan menggunakan PhpSpreadsheet. Cara yang disyorkan untuk memasang PhpSpreadsheet ke dalam projek anda adalah dengan menggunakan komposer. Buka terminal dalam direktori akar projek anda dan jalankan arahan:
Berikut adalah arahannya
composer require phpoffice/phpspreadsheet
Komposer menawarkan pemasang mudah yang boleh anda laksanakan terus dari baris arahan. Sila muat turun fail ini atau semaknya di GitHub. Terdapat dua cara untuk memasang Komposer. Pasangkannya secara setempat sebagai sebahagian daripada projek anda atau secara global sebagai boleh laku seluruh sistem.
Bekerja dengan Sel Hamparan
PHPSpreadsheet membolehkan anda mengakses sel dan menetapkan nilainya mengikut koordinat. Anda juga boleh mencipta sel baharu dan menyediakan formula di dalamnya. Anda juga boleh mengkonfigurasi sel untuk menduduki pelbagai jenis data, seperti tarikh, masa dan nombor dengan sifar pendahuluan. PHPSpreadsheet juga membolehkan anda menetapkan julat sel daripada tatasusunan, serta menggelung melalui sel menggunakan iterator atau indeks. Anda juga boleh menggunakan pengikat nilai untuk membenarkan kemasukan data yang mesra pengguna.
Buat XLSX baharu - 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');
Buat & Gunakan AutoFilters
Menggunakan PHPSpreadsheet, anda boleh menggunakan julat penapis automatik untuk menapis keluar dan memaparkan hanya baris yang sepadan dengan kriteria yang telah anda tentukan dalam penapis automatik. Anda boleh menggunakan penapis pada lebih daripada satu lajur sebagai bahan tambahan.
PHPSpreadsheet membolehkan anda menetapkan kawasan auto-penapis pada lembaran kerja. Anda boleh membuat, membaca dan menulis ungkapan auto-penapis. Tambahan pula, pelbagai jenis penapis tersedia, seperti penapis mudah, kosong yang sepadan, penapis DateGroup, penapis tersuai, penapis dinamik dan sepuluh penapis teratas.
Gunakan Penapis Auto dalam 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');
Enjin Pengiraan Formula
Untuk melaksanakan pengiraan peringkat asas hingga lanjutan dalam hamparan perniagaan anda, anda boleh membangkitkan enjin pengiraan formula PHPSpreadsheet dengan mudah dan ia akan menguruskan selebihnya.
Penghurai formula PHPSpreadsheet boleh melaraskan formula secara automatik semasa baris/lajur sedang disisipkan/dialih keluar. Formula Microsoft Excel ditukar kepada kod PHP sebelum dilaksanakan. Untuk meningkatkan prestasi, cache pengiraan digunakan untuk menyimpan hasil formula. Begitu juga, setiap lembaran kerja individu diselenggara oleh cache yang berasingan.