Quante volte ti è venuto in mente che sarebbe utile, o comunque ti hanno chiesto di, fornire dal sito un file EXCEL contenete il risultato di una query?
È anche un argomento di cui si parla tanto anche sul forum.
Allora, di cosa hai bisogno dal lato del server per produrre un file Excel?: nulla, basta poter modificare gli headers http.
Estendo l'idea usando la seguente tabella:
| Nome | Cognome | |
|---|---|---|
| Mario | Rossi | mario@rossi.it |
| Tizio | Caio | tcaio@sempronio.com |
Per mantenere ridotte le dimensioni del tip mi atterrò all'essenziale, invitandoti a leggere l'articolo sugli Headers Http di Barzaghi. Chiaramente questo esempio è applicabile a qualsiasi cosa restituisca una normale TABLE html.
In pratica, prima di inviare l'html al client, si dovrà "azzerare" la cache nel Response (CODE-1), quindi modificare gli headers (CODE-2), ed infine inviare il risultato al browser (CODE-3).
Fine.
' CODE-1
Response.Clear()
' CODE-2
Response.AddHeader("Content-Disposition", "attachment; filename=esempio.xls")
Response.ContentType = "application/vnd.ms-excel"
' CODE-3
Response.Write(" <TABLE> <TBODY> <TR> <TH>esempio</TH> <TH>file excel</TH></TR> <TR> <TD>ciao mondo</TD> <TD>123456</TD></TR></TBODY></TABLE>")
Response.End
Conclusioni
Questo è solo un punto di partenza, a te espanderlo, ad esempio, per la parte relativa alle funzioni di Excel o utilizzando l'XML al posto dell'HTML. Poi, mi raccomando, condividila con i tuoi soci! (come ha fatto RR qui, grazie!)