Slik konverterer XLS til CSV med PHP

Slik konverterer XLS til CSV med PHP


PHP og databaser gå sammen. Som sådan, har PHP og Excel-filer historisk oppstått kompatibilitetsproblemer. Folk ofte holde manuelt redigert databaser i Excel-regneark, og deretter på noen ønsker å lage et PHP-skript eller en nettside for å samhandle med dataene i regnearket. Dessverre er Excel et proprietært format som eies av Microsoft. Så ofte anbefalte metoden for å matche åpen kildekode-systemer til Excel-filer er å konvertere Excel regneark data til en kommaseparert verdi, eller CSV, fil. Historisk PHP-skript måtte kjøre på Windows og bruke COM til å gjøre dette. Men nå er det en praktisk kryssplattformløsning.

Bruksanvisning

Få PHP Excel Reader

1 Gå til PHP Excel Reader Last ned og dokumentasjon hjemmeside (se Ressurser) og laste ned PHP Excel Reader pakken.

2 Pakk opp pakken og kast eksempelfiler. Du trenger ikke å bruke dem.

3 Installer filen som heter "excel_reader2.php" hvor din PHP server kan finne det. For eksempel, hvis du bruker PHP på et eksternt vert webserver, laste opp excel_reader2.php til en mappe i inkludere banen på serveren din via FTP eller ditt favoritt filoverføring program.

Behandle XLS fil

4 Gjør din Excel-fil tilgjengelig for PHP script. Lag en kopi av Excel-fil med navnet "xls_test.xls" for denne opplæringen. Deretter flytter "xls_test.xls" inn i mappen der PHP-script er plassert. Hvis du programmerer på en ekstern server, bruke FTP eller ditt favoritt filoverføring program for å overføre Excel-fil til serveren. Hvis du programmerer på din egen datamaskin, dra "xls_test.xls" inn i mappen der PHP script er.

5 Instantiate PHP Excel Reader på din PHP-script ved hjelp av Excel-fil. Lag en variabel som inneholder Excel-filen som et objekt som kan manipuleres, søkte, etc. Bruk "$ xls = new Spreadsheet_Excel_Reader ( 'xls_test.xls', false);" som koden din. Ved hjelp av "false" som vår andre parameter vil spare på minnebruk siden CSV-filer er enkle og trenger ikke slike opplysninger som cellekant farger.

6 Lag en variabel for å lagre CSV-data. Bruk "$ csv = '';" som koden din.

7 Finn ut hvor mange kolonner og rader i Excel-filen. For kolonner, bruker "$ kolonner = $ xsl-> colcount ();" som koden din. For radene, bruker "$ rader = $ xls-> ROWCOUNT ();" som koden din.

8 Lag dine CSV-data. Bruk en nestet "for loop" å gjøre det:

for ($ r = 1; $ r <= $ rader; $ r ++) {// gå gjennom hver rad i regnearket

for ($ c = 1; $ c <= $ kolonner; $ c ++) {// gå gjennom hver kolonne

$csv .= $xls->raw($r, $c); //get the raw data in the current cell.

if ($ c = $ kolonner) {

$ Csv = "\ n".; // Oppretter en ny linje etter at vi er ferdig med denne raden

} Else {

. $ Csv = ","; // Sett komma mellom hvert element

}

}

}

9 Lagre innholdet av $ csv til en CSV-fil ved å bruke PHP fil-skriving funksjoner. Kontroller at filen slutter på "CSV" for klarhet.

Hint

  • CSV er en langt mer enkel dataformat enn en Excel-fil. Denne opplæringen vil arbeide for XLS-filer med null eller en header rad etterfulgt av datarader. Et annet format vil kreve mer kinkig programmering.