Sapreste indicarmi uno script già pronto che esporti un resultset (o qualsiasi altra cosa) in formato excel o openoffice calc? E' importante che il formato sia quello di uno di questi due programmi, non posso esportare in csv.
Sapreste indicarmi uno script già pronto che esporti un resultset (o qualsiasi altra cosa) in formato excel o openoffice calc? E' importante che il formato sia quello di uno di questi due programmi, non posso esportare in csv.
Codice PHP:
$filename="nome_file.xls"; // nome del file che andremo a acreare
header ("Content-Type: application/vnd.ms-excel"); // specifichiamo il Content-Type
header ("Content-Disposition: inline; filename=$filename"); // specifichiamo la risorsa
//Qua ti costruisci la tabella
//Estrazione dati
Sicuramente mi sono spiegato malissimo. Non devo far scaricare il documento, devo crearlo il documento. Faccio una query SQL, ottengo un recordset, e da questo recordset devo generare un file excel. Il problema è che non conosco il formato usato da Excel. Magari è semplice, ma se trovo uno script già pronto sono più contento...
Ripeto, deve essere in formato excel e non csv
Va bene anche openoffice calc al posto di Excel
Ti sei spiegato benissimo, mi spiego meglio io:Originariamente inviato da in the web
Sicuramente mi sono spiegato malissimo. Non devo far scaricare il documento, devo crearlo il documento. Faccio una query SQL, ottengo un recordset, e da questo recordset devo generare un file excel. Il problema è che non conosco il formato usato da Excel. Magari è semplice, ma se trovo uno script già pronto sono più contento...
Ripeto, deve essere in formato excel e non csv
Va bene anche openoffice calc al posto di Excel
Codice PHP:
<?
$filename="nome_file.xls"; // nome del file che andremo a acreare
header ("Content-Type: application/vnd.ms-excel"); // specifichiamo il Content-Type
header ("Content-Disposition: inline; filename=$filename"); // specifichiamo la risorsa
?>
<!–- iniziamo a costruire la nostra tabella -->
<html><head><title>Export</title></head><body>
<table border="1">
<tr>
<th>Intestazione 1</th>
<th>Intestazione 2</th>
<th>Intestazione 3</th>
</tr>
<?
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Connessione al Database fallita!!!!!') mysql_select_db($dbname,$conn) or die ('Il Database selezionato non esiste !!!');
$sql="SELECT * FROM mia tabella"; // selezioniamo i dati dalla nostra tabella
$query=@mysql_query($sql) or die (mysql_error());
while ($row=mysql_fetch_array($query)) // ed effettuiamo un ciclo per creare le righe della nostra tabella
{
$campo1=$row['c1'];
$campo2=$row['c2'];
$campo3=$row['c3'];
?>
<tr>
<td><? echo $campo1; ?></td>
<td><? echo $campo2; ?></td>
<td><? echo $campo3; ?></td>
</tr>
}
</table>
<?
mysql_close($conn);
?>
Quindi se crei una tabella html normalissima, mettendo gli header http opportuni excel la apre? Interessante, non lo sapevo! Però nel mio caso mi è stato chiesto espressamente di creare un file excel, credo abbia un formato suo basato su xml.. devo fare così perchè esiste già uno script che dovrà interfacciarsi con questo file, mentre se usassi html quello script andrebbe modificato..
mi ricordo di aver fatto una volta uno script che generava un file excel concatenando i campi per tabulazione ( \t ) e fine riga con \n...
file_put_contents in un file chiamato qualcosa.xls: il file veniva aperto correttamente con excel, ovviamente senza formattazioni o larghezza colonne preimpostata...
se ti interessa erano poche righe di codice, esattamente come quello che ti hanno proposto...
ce l'ho in ufficio, purtroppo![]()