Spout
ODS, XLSX ve CSV Dosyaları için PHP Kitaplığı
Excel® (XLSX, CSV) ve OpenOffice™ (ODS)'den elektronik tablolar oluşturmak, okumak ve işlemek için Açık Kaynak PHP kitaplığı.
Spout nedir?
Spout, yazılım geliştiricilerin ODS, XLSX ve CSV dosyalarını okuma ve yazma gibi elektronik tablo işleme görevlerinde yardımcı olan açık kaynaklı bir PHP kitaplığıdır. Spout ile geliştiriciler, hücre, satır ve kenarlık stiliyle sıfırdan elektronik tablolar oluşturabilir ve mevcut dosyaları düzenleme için yükleyebilir.
Spout, farklı elektronik tablo türlerini okumak ve oluşturmak için basit ve entegre API sağladığı için geliştirici dostudur. Ayrıca, kodda minimum değişiklikle bir elektronik tablo türünden diğerine geçiş yapılmasına olanak tanır. Bellek kullanımını gerçekten düşük tutarken, çok büyük elektronik tablo dosyalarının yanı sıra küçük dosyaları da işleyebilir. Herhangi bir elektronik tablo dosyasını işlemek için yalnızca 3 MB bellek gerektirir.
Spout PHP Kitaplığı Nasıl Kurulur
Spout, PHP sürüm 7.1 veya daha yüksek bir sürüme ihtiyaç duyar. Ön koşul karşılandığında, Composer'dan Spout'u yükleyin.
Spout'u Composer'dan yükleyin
$ composer require box/spout
ODS, XLSX ve CSV Okumak ve Yazmak için PHP Kitaplığı
Spout, yazılım geliştiricilerin 3 popüler formatta sıfırdan elektronik tablo dosyaları oluşturmasını sağlar. Spout, okurken dosya uzantısına göre elektronik tablo okuyucu türünü tahmin eder. Uzantının standart olmaması durumunda doğrudan belirli bir okuyucu oluşturulabilir.
ODS'yi PHP ile okuyun
- ODS dosya formatı için bir okuyucu oluşturun
- Okumak için ODS dosya yolunu yükleme yöntemini iletin
- getSheetIterator() aracılığıyla ODS çalışma sayfalarını yineleyin
- getRowIterator() aracılığıyla çalışma sayfası satırları üzerinde yineleme
- Okumak veya yazmak için bir ODS satırının hücrelerini alın
ODS'yi Spout aracılığıyla okuyun - PHP Excel Kitaplığı
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 ile Mevcut Elektronik Tabloya Veri Ekleme
Spout, geliştiriciye mevcut bir elektronik tabloya veri ekleyerek güncelleme yeteneği verir. Mevcut bir elektronik tabloya yeni veriler eklemek çok yaygın bir uygulamadır. Spout API, büyük elektronik tablolarla çalışırken bellek sorunlarından kaçınmak için tam elektronik tablo gösterimini bellekte tutmaz. Bir elektronik tabloyu değiştirmek için, mevcut olana benzer yeni bir örnek oluşturun ve gerekli verileri yeni elektronik tabloya ekleyin.
Belirli Bir Sayfadan Veri Okuma
Spout API, PHP geliştiricilerinin bir elektronik tablo içindeki belirli bir sayfadaki verilere erişmesini ve bu verileri okumasını sağlar. Genellikle, bir elektronik tablo birkaç çalışma sayfası içerir. Bir kullanıcı yalnızca bir sayfadan veri okumak ve diğer sayfaları atlamak istiyorsa. Kullanıcıların sadece elektronik tablonun adını ve konumunu bilmesi gerekir.