1. Produkter
  2.   Kalkylblad
  3.   PHP
  4.   PHPSpreadsheet

PHPSpreadsheet

 
 

Open Source PHP-bibliotek för kalkylbladsfiler

Läs, skriv, manipulera och bearbeta Microsoft Excel- och LibreOffice Calc-filer.

PHPSpreadsheet är ett bibliotek med öppen källkod som innehåller en uppsättning klasser så att du kan interagera med och använda olika kalkylbladsfilformat av Microsoft Excel och LibreOffice Calc. PHPSpreadsheet stöder kalkylblad som innehåller ett eller flera kalkylblad, som innehåller celler för att hålla data av olika typer, såsom siffror, formler, bild, etc.

Previous Next

Komma igång med PHPSpreadsheet

Först och främst måste du ha PHP version 7.1 eller senare för att utveckla med PhpSpreadsheet. Det rekommenderade sättet att installera PhpSpreadsheet i ditt projekt är att använda composer. Öppna terminalen i ditt projekts rotkatalog och kör kommandot:

Här är kommandot

 composer require phpoffice/phpspreadsheet 

Composer erbjuder ett bekvämt installationsprogram som du kan köra direkt från kommandoraden. Ladda ner den här filen eller granska den på GitHub. Det finns två sätt att installera Kompositör. Installera den lokalt som en del av ditt projekt, eller globalt som en systemomfattande körbar fil.

Arbeta med kalkylbladsceller

PHPSpreadsheet låter dig komma åt cellen och ställa in dess värde med koordinater. Du kan också skapa en ny cell och ställa in en formel i den. Du kan också konfigurera cellen för att uppta olika typer av data, såsom datum, tid och nummer med inledande nollor. PHPSpreadsheet låter dig också ställa in ett cellintervall från en array, samt loopa genom celler med iteratorer eller index. Du kan också använda värdebindare för att tillåta användarvänlig datainmatning.

Skapa en ny 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');

Skapa och använd autofilter

Med PHPSpreadsheet kan du använda autofilterintervall för att filtrera bort och endast visa de rader som matchar kriterierna som du har definierat i autofiltret. Du kan använda filter på mer än en kolumn som tillsatser.

PHPSpreadsheet låter dig ställa in ett autofilterområde på ett kalkylblad. Du kan skapa, läsa och skriva autofiltreringsuttryck. Dessutom finns olika typer av filter tillgängliga, såsom enkla filter, matchande blanks, DateGroup-filter, anpassade filter, dynamiska filter och topp tio-filter.

Använd autofilter i 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');

Formelberäkningsmotor

För att utföra grundläggande till avancerad nivåberäkningar i dina affärskalkylblad kan du enkelt framkalla PHPSpreadsheets formelberäkningsmotor, och den tar hand om resten.

PHPSpreadsheets formeltolkare kan automatiskt justera en formel medan rader/kolumner infogas/tas bort. Microsoft Excel-formeln konverteras till PHP-kod innan den körs. För att öka prestandan används en beräkningscache för att hålla resultatet av formeln. På samma sätt underhålls varje enskilt kalkylblad av en separat cache.

 Svenska