Sfruttiamo la possibilità di Excel di leggere file HTML per produrre tabelle scaricabili come foglio di lavoro.
Questo script consente di generare dinamicamente documenti Excel senza instanziare oggetti COM lato server. Il tutto è fatto con poche righe di PHP.
Lo script imposta il Mime Type su quello di Excel (application/vnd.ms-excel
), sfruttando una caratteristica, presente già in Office 97, che consente a Word ed Excel di leggere senza problemi documenti HTML. Inoltre, impostando l'header Content-Disposition: inline; filename=FILENAME
richiede al browser di scaricare il file anziché aprirlo al suo interno. In seguito genera una tabella HTML che verrà interpretata da Excel come un suo foglio di lavoro. Per semplicità generiamo una semplice tabella pitagorica, ma nulla impedisce di prelevare i dati da database o altre fonti.
Il file così generato e scaricato viene aperto correttamente sia da Excel che dallo spreadsheet di OpenOffice.
Ecco il codice:
<?php
$filename="sheet.xls";
header ("Content-Type: application/vnd.ms-excel");
header ("Content-Disposition: inline; filename=$filename");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang=it><head>
<title>Titolo</title></head>
<body>
<table border="1">
<?
for ($i=1;$i < 11; $i++)
{
echo "<tr>";
for ($j=1; $j<11;$j++)
{
$a = $i * $j;
echo "<td>$a</td>";
}
echo "</tr>";
}
?>
</table>
</body></html>
Imparare a definire classi e utilizzare oggetti
Re: Settaggi formato celle
ragazzi qualcuno sa come fare a settare un particolare formate per le celle?
Rispondisettaggi formato celle
per il formato numerico: http://agoric.com/sources/software/htmltoExcel
RispondiSettaggi formato celle
Posso settare mentre crea il foglio di excel il formato della cella? (testo,numero,etc..)
Rispondicrere una pagina html
come posso farlo diventare uno script che genera pagine html da post da un altra pagina ?
Rispondiin locale mostra solo una tab html!
a parte questo, visualizza il file dentro il browser, non chiede di scaricarlo. Saranno le mie impostazioni locali? grazie
RispondiSettaggi formato celle
Posso settare mentre crea il foglio di excel il formato ceh voglio dare alla cella? (testo,numero,etc..)
RispondiFogli di lavoro
E' possibile con questo sistema creare più fogli di lavoro? Grazie
RispondiEstrazione da DB Oracle 10g
Sono alle primissime armi e vorrei sapere: come faccio dopo aver estratto dei dati da un DB Oracle 10g a metterli in un foglio excel già esistente?
Successivamente come faccio a dare all'utente la possibilità di salvare o visualizzare il file XLS?
Grazie e scusate per le domande elementari!!!
NO
Non c'è bisogni di aver excel sul server: viene creato un file html con un formato (tabelle semplici) che excel (dell'utente che apre il file) interpreta direttamente e mette nell sue celle.
RispondiExcel sul server?
ma bisogna avere excel sul server per far funzionare il codice?
RispondiGrazie
Ottimo articolo!
Ciao. Alex
Grazie Bluviolin
Ciao bluviolin, ti ringrazio per il box che mi ha semplificato l'esistenza nella realizzazione di un progetto che ha bisogno di estrarre XLS da dati del DB.
Ciao. Max