Hier is een uitsplitsing van het lezen van gegevens van Excel -bestanden met behulp van de PHP -spreadsheet -lezerklasse, samen met best practices en voorbeelden:
1. Installatie
De klasse 'spreadsheetlezer' is geen kernonderdeel van PHP. U moet het installeren met behulp van componist:
`` `bash
componist vereisen phpoffice/phpexcel
`` `
2. Voorbeeldcode
`` `php
PHP
vereisen_once 'leverancier/autoload.php';
gebruik phpoffice \ phpspreadsheet \ iofactory;
// Bestandspad naar uw Excel -bestand
$ excelfile ='pad/to/your/file.xlsx';
// Laad het Excel -bestand
$ spreadsheet =ibeactory ::load ($ excelfile);
// Krijg het actieve werkblad
$ sheet =$ spreadsheet-> getActiveSheet ();
// Krijg de hoogste rij- en kolomnummers
$ highestrow =$ sheet-> gThighestrow ();
$ HighestColumn =$ Sheet-> GethighestColumn ();
// loop door elke rij
voor ($ rij =1; $ rij <=$ highestrow; $ rij ++) {
// loop door elke kolom
voor ($ col ='a'; $ col <=$ highestColumn; $ col ++) {
// Krijg celwaarde
$ cellValue =$ sheet-> getCell ($ col. $ row)-> getValue ();
// Verwerk de gegevens - Druk deze af als een voorbeeld
echo "rij:{$ row}, kolom:{$ col}, waarde:{$ cellValue} \ n";
}
}
?>
`` `
Verklaring
* `vereisen_once 'verkoper/autoload.php';` :Deze regel bevat de Composer Autoloader, waardoor de spreadsheet -lezerklassen beschikbaar in uw code.
* `gebruik phpoffice \ phpreadsheet \ ioFactory;` :Deze regel importeert de klasse `` ibeactory ', die we zullen gebruiken om het Excel -bestand te laden.
* `$ excelfile ='pad/to/your/file.xlsx';` :Vervang dit door het werkelijke pad naar uw Excel -bestand.
* `$ spreadsheet =ioFactory ::load ($ excelfile);` :Laadt het Excel -bestand met behulp van het `ibeactory`.
* `$ sheet =$ spreadsheet-> getActiveSheet ();` :Krijgt het actieve werkblad in het Excel -bestand.
* `$ highestrow =$ sheet-> gThighestrow ();` :Vindt het hoogste rijnummer met gegevens in het werkblad.
* `$ highestColumn =$ sheet-> GethighestColumn ();` :Vindt de hoogste kolombrief met gegevens in het werkblad.
* `$ cellValue =$ sheet-> getCell ($ col. $ row)-> getValue ();` :Haalt de waarde uit de opgegeven cel op met behulp van de kolombrief en het rijnummer.
Belangrijke overwegingen:
* Excel -bestandstypen: De bibliotheek `phpoffice/phpreadsheet` ondersteunt verschillende Excel -bestandsindelingen, waaronder` .xls`, `.xlsx`, en` .ods`.
* Foutafhandeling: Voeg altijd foutafhandeling toe om cases zoals ongeldige bestandspaden of beschadigde Excel -bestanden gracieus te verwerken.
* Gegevenstypen: Houd er rekening mee dat gegevens in Excel -cellen in verschillende typen kunnen zijn (snaren, cijfers, datums, enz.). Gebruik `getFormattedValue ()` als u gegevens in het geformatteerde Excel -weergaveformaat moet krijgen.
* prestaties: Overweeg voor grote Excel -bestanden technieken te gebruiken, zoals het itereren over specifieke reeksen rijen of kolommen in plaats van door het hele blad te itereren.
Voorbeeld:een specifiek bereik lezen
`` `php
// Haal gegevens uit een specifiek bereik (bijv. Cellen A1 tot C10)
$ rangedata =$ sheet-> RangetoArray ('A1:C10');
// Druk de gegevens uit het bereik af
print_r ($ rangedata);
`` `
Laat het me weten als u specifieke vereisten of scenario's hebt waarmee u wilt werken. |