Posso creare in modo affidabile documenti Excel da un'applicazione PHP su un server Linux?

StackOverflow https://stackoverflow.com/questions/226052

  •  03-07-2019
  •  | 
  •  

Domanda

Qual è lo stato che genera documenti Excel da un'applicazione PHP su un server Linux?

Sono interessante nel creare file Excel di Office 97 (xls). La mia ricerca limitata sull'argomento ha rivelato questo Pacchetto pera . Sembra essere in versione beta dal 2006.

Puoi condividere il tuo successo o i tuoi insuccessi nella generazione di file Excel da PHP? È disponibile uno strumento affidabile e maturo?

Aggiornamento: per questa applicazione ho bisogno di generare un file Excel, non solo un file CSV.

È stato utile?

Soluzione

C'è qualcosa di molto meglio del pacchetto PEAR là fuori!

PHPExcel

Altri suggerimenti

Ho usato quel pacchetto PEAR e funziona benissimo per me per i file compatibili con Office '97 -2000.

Se si tratta di un semplice foglio di calcolo, Office può gestire anche CSV, che PHP può produrre in modo nativo e semplice .

Che ne dici di usare le tabelle (un foglio di calcolo è una tabella, quindi va bene) e di lanciare queste righe nella parte superiore dello script PHP che produce le tabelle:

header("Content-Type: application/vnd.ms-excel");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

O puoi semplicemente produrre un file CSV, dato che Excel può aprirli bene.

Ho usato il pacchetto PEAR con molto successo, ma ci sono alcune limitazioni nell'implementazione di formule complesse. Ha qualcosa a che fare con il modo in cui Excel memorizza la formula, insieme all'ultimo risultato calcolato. A volte anche se la formula è corretta, quando si apre per la prima volta il foglio le celle appaiono vuote. Una volta che la cella ha lo stato attivo e quindi perde lo stato attivo, il calcolo viene eseguito e la cella viene popolata.

La libreria è in realtà una porta da una libreria perl, che è leggermente più completa ma ha gli stessi problemi.

Ho usato PERL Spreadsheet :: WriteExcel in diversi progetti senza problemi. Potrebbe essere necessario apportare alcune correzioni e wrapper per migliorare la funzionalità e renderlo più semplice, ma lo trovo ok.

Mi piace perché la sua piattaforma è indipendente, veloce e facile da configurare.

Il modo più semplice è effettivamente usare l'intestazione per "falso" un file Excel. Ecco il codice per avviare un download come file Excel, Excel del client analizzerà qualsiasi codice HTML trovato (tabelle, csv, ...) e lo visualizzerà in un bel formato simile a Excel.

header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=excel.xls");

Al giorno d'oggi tutto è in stato beta. Hai davvero bisogno di file Excel con forumlas e tutto il resto o hai solo bisogno di aprire un elenco di record in Excel su cui lavorare?

Di solito, ho scoperto che quando un client desidera un file Excel, in realtà posso semplicemente generare un file CSV e possono lavorarci su Excel e aggiungere le formule che vogliono dopo il fatto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top