Come esportare ASP.NET DataGrid per Excel

November 8

Come esportare ASP.NET DataGrid per Excel


Migrazione e lo spostamento dei dati è un compito essenziale nella programmazione. La ASP.NET GridView, noto anche come il DataGrid, contiene dati tabulari che si possono anche trovare utili in altre applicazioni come Excel. Dopo l'esportazione dei dati di un DataGrid in un file di foglio di calcolo Excel, è possibile utilizzare Excel per aprire il file e manipolare i dati qualsiasi modo tu voglia. Il metodo ASP.NET RenderControl rende possibile tali trasferimenti di dati.

istruzione

1 Avviare Visual Studio e aprire un progetto ASP.NET C # che contiene un DataGrid. Sfoglia l'elenco dei nomi di file che appaiono nella finestra Solution Explorer per trovare il file di avvio del progetto.

2 Pulsante destro del mouse il file e selezionare "Progettazione" dal menu a tendina che si apre. Il modulo di avvio contenente il GridView viene visualizzato nella finestra di progettazione.

3 Fai clic su "Visualizza" per aprire il menu Visualizza. Selezionare l'opzione Casella degli strumenti nel menu per visualizzare la finestra Casella degli strumenti.

4 Fare doppio clic sull'icona del pulsante che si trova in quella finestra. Visual Studio inserisce un nuovo pulsante nel form. Fare doppio clic su tale pulsante. Verrà visualizzata la finestra del codice e visualizza il metodo "Click" del pulsante.

5 Incollare il seguente codice nel corpo del metodo:

stringa excelFileName = "EXCEL_FILE_NAME";

Response.Clear ();
Response.Charset = "";
Response.ContentType = "application / vnd.ms-excel";
Response.Buffer = true;
Response.AddHeader ( "Content-Disposition", "attachment; filename =" + excelFileName);

System.IO.StringWriter StringWriter = new System.IO.StringWriter ();
System.Web.UI.HtmlTextWriter TextWriter = new HtmlTextWriter (StringWriter);
XYZ.RenderControl (TextWriter);

Response.Write (stringWriter.ToString ());
Response.End ();

Sostituire "EXCEL_FILE_NAME" con il nome del file che si desidera creare. Le prossime righe di codice impostare le proprietà dell'oggetto Response di ASP.NET. L'oggetto Response gestisce le informazioni inviate dal server Web al browser di un utente. Le classi StringWriter e HtmlTextWriter visto nelle prossime due istruzioni creano gli oggetti che la rendono metodo di controllo ha bisogno di dati in uscita dal DataGrid denominata "XYZ" al file di Excel di destinazione. Sostituire "XYZ" con il nome del DataGrid. Le ultime due affermazioni creare il file.

6 Incollare il codice riportato di seguito dopo il tag body di chiusura del metodo Click:

public override vuoto VerifyRenderingInServerForm (CTL Control)
{
//
}

Questo codice assicura che i browser non vedono un messaggio di "tag server mancante" quando il codice ASP.NET tenta di rendere il DataGrid.

7 Premere F5 per visualizzare il modulo di ASP.NET nel browser. Il tuo DataGrid appare insieme al pulsante aggiunto. Fare clic sul pulsante. Windows apre una finestra di dialogo e chiede di aprire o salvare il file. Scegliere una di queste opzioni per aprire o salvare il file di Excel che crea l'applicazione ASP.NET.

Consigli e avvertenze

  • Questo codice funziona con qualsiasi DataGrid sulla linea ASP.NET sinistra.L che crea il file di Excel è simile al seguente: XYZ.RenderControl (TextWriter). Sostituire "XYZ" con il nome del DataGrid che si desidera esportare.