Domanda

Avere un report generato dal DB, vogliono aggiungere un pulsante di esportazione in modo che possano ottenere lo stesso report in un foglio di Excel leggibile di un certo tipo. La chiave qui è la facilità di implementazione in modo da un CSV va bene oltre XLS se è più facile.

È stato utile?

Soluzione

Excel è in realtà un po 'bravo a leggere HTML. Espcially se il vostro HTML contiene solo una singola tabella. Se si vuole dire al browser per aprire il file in Excel, è possibile utilizzare

Response.ContentType = "application/vnd.ms-excel"

Questo indica al browser di aprire il documento in Excel, invece di renderlo di per sé. Ci sono alcuni problemi però. Non credo che funzionerà se qualcuno vuole aprirlo con OO.org calc invece. Inoltre, quando si cerca di salvarla, non sarà mai convertire il file in un vero e proprio file di Excel, a meno che l'utente cambia esplicitamente il tipo di file. Se è solo un app intranet per l'organizzazione, questo potrebbe non essere un problema. Il lato positivo è, è che si può usare i colori, bordi e persino formule, che non può essere fatto quando si utilizza CSV dritto.

Altri suggerimenti

È possibile utilizzare HtmlTextWriter:

  System.IO.StringWriter stringWriter = new System.IO.StringWriter();

  System.Web.UI.HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter);

  grid.RenderControl(htmlWriter);

dove griglia è un oggetto DataGrid. È possibile utilizzare altri tipi di controlli pure.

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