Come convertire XLS a CSV con PHP

September 11

Come convertire XLS a CSV con PHP


PHP e database vanno insieme. Come tale, file PHP ed Excel, storicamente, hanno incontrato problemi di compatibilità. Spesso le persone continuano a banche dati modificati manualmente in fogli di calcolo Excel, e poi a un certo vogliono creare uno script PHP o una pagina web di interagire con i dati in quel foglio di calcolo. Purtroppo, Excel è un formato proprietario di proprietà di Microsoft. Quindi il metodo spesso consigliato di abbinare sistemi open source per i file di Excel è quello di convertire i dati del foglio di calcolo del Excel a un comma-separated value, o CSV, file. Storicamente, gli script PHP dovevano essere eseguito su Windows e utilizzare COM per fare questo. Ma ora c'è una vantaggiosa soluzione cross-platform.

istruzione

Ottenere PHP Excel Reader

1 Vai PHP Excel Reader Download e documentazione sito web (vedi Risorse) e scaricare il pacchetto PHP Excel Reader.

2 Decomprimere il pacchetto ed eliminare i file di esempio. Non è necessario usarli.

3 Installare il file chiamato "excel_reader2.php" in cui il server PHP può trovare. Ad esempio, se si utilizza PHP su un server web remoto ospitato, caricare excel_reader2.php a una cartella nel percorso includere sul server utilizzando il programma di trasferimento file FTP preferito o.

Elaborare il tuo file XLS

4 Rendere il file accessibili allo script PHP tuo Excel. Creare una copia del file di Excel con il nome "xls_test.xls" per questo tutorial. Quindi spostare "xls_test.xls" nella cartella in cui si trova lo script PHP. Se si sta programmando su un server remoto, utilizzare FTP o il vostro programma di trasferimento di file preferito per il trasferimento di file di Excel al server. Se si sta programmando sul proprio computer, trascinare "xls_test.xls" nella cartella in cui lo script PHP è.

5 Un'istanza PHP Excel Reader nello script PHP utilizzando il file di Excel. Creare una variabile che contiene il file di Excel come un oggetto che può essere manipolato, cercato, ecc Usa "$ xls = new Spreadsheet_Excel_Reader ( 'xls_test.xls', false);" il tuo codice. Uso di "false" come la nostra seconda parametro risparmiare sulle utilizzo della memoria da file CSV sono semplici e non hanno bisogno di informazioni quali colori dei bordi delle cellule.

6 Creare una variabile per memorizzare i dati CSV. Utilizzare "$ csv = '';" il tuo codice.

7 Scopri il numero di colonne e righe nel file Excel. Per le colonne, usare "$ cols = $ xsl-> colcount ();" il tuo codice. Per le righe, usare "$ file = $ xls-> conteggio delle righe ();" il tuo codice.

8 Crea i tuoi dati CSV. Utilizzare un annidati "per il ciclo" per farlo:

for ($ r = 1; $ r <= $ file; $ R ++) {// passare attraverso ogni riga del foglio di calcolo

for ($ c = 1; $ c <= $ colli; $ C ++) {// passare attraverso ogni colonna

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

if ($ c = $ cols) {

$ Csv = "\ n".; // Crea una nuova linea dopo che avremo finito questa riga

} altro {

. $ Csv = ","; // Mettere una virgola tra ogni elemento

}

}

}

9 Salvare il contenuto di $ CSV in un file CSV utilizzando le funzioni di file-scrittura di PHP. Assicurarsi che il file termina in ".csv" per chiarezza.

Consigli e avvertenze

  • CSV è un gran lunga più semplice formato di dati di un file Excel. Questo tutorial funziona per i file XLS con la riga zero o una intestazione seguita da righe di dati. Qualsiasi altro formato richiede una programmazione più difficile.