Spout

 
 

PHP-bibliotek för ODS-, XLSX- och CSV-filer

Open Source PHP-bibliotek för att skapa, läsa och manipulera kalkylblad från Excel® (XLSX, CSV) och OpenOffice™ (ODS).

Vad är Spout?

Spout är ett PHP-bibliotek med öppen källkod som hjälper mjukvaruutvecklare i kalkylbladsmanipuleringsuppgifter som att läsa och skriva ODS-, XLSX- och CSV-filer. Med Spout kan utvecklare skapa kalkylblad från grunden med cell-, rad- och kantstil samt ladda befintliga filer för redigering.

Spout är utvecklarvänligt eftersom det ger ett enkelt och integrerat API för att läsa och skapa olika typer av kalkylblad. Det gör det också möjligt att byta från en typ av kalkylblad till en annan med minimala ändringar av koden. Den kan hantera små såväl som mycket stora kalkylbladsfiler samtidigt som minnesanvändningen är väldigt låg. Det kräver bara 3 MB minne för att bearbeta någon kalkylarksfil.

Previous Next

Hur man installerar Spout PHP Library

Spout behöver PHP version 7.1 eller högre. När förutsättningen är uppfylld installerar du Spout från Composer.

Installera pipen från Composer

$ composer require box/spout

PHP-bibliotek för att läsa och skriva ODS, XLSX och CSV

Spout gör det möjligt för programutvecklare att skapa kalkylbladsfiler från grunden i tre populära format. Under läsningen gissar Spout vilken typ av kalkylbladsläsare som är baserat på filtillägget. Om tillägget inte är standard kan en specifik läsare skapas direkt.

Läs ODS via PHP

  1. Skapa en läsare för ODS-filformat
  2. Skicka ODS-filsökvägen till laddningsmetoden för att läsa den
  3. Iterera över ODS-kalkylblad via getSheetIterator()
  4. Iterera över kalkylbladsrader via getRowIterator()
  5. Få celler i en ODS-rad att läsa eller skriva

Läs ODS via 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();

Lägg till data till befintligt kalkylblad via PHP

Spout ger utvecklaren möjligheten att uppdatera ett befintligt kalkylblad genom att lägga till data till det. Det är mycket vanligt att lägga till nya data i ett befintligt kalkylblad. Spout API behåller inte fullständig representation av kalkylblad i minnet för att undvika minnesproblem när du arbetar med stora kalkylblad. För att ändra ett kalkylblad skapa en ny instans som liknar den befintliga och lägg till nödvändiga data i det nya kalkylarket.

Läsa data från ett specifikt blad

Spout API gör det möjligt för PHP-utvecklare att komma åt och läsa data från ett specifikt blad i ett kalkylblad. Vanligtvis innehåller ett kalkylblad flera kalkylblad. Om en användare är intresserad av att läsa data från endast ett ark och hoppa över de andra arken. Användarna behöver bara veta namnet och positionen för kalkylarket.

 Svenska