2009-12-19 12 views
5

Ich arbeite derzeit mit ASP.NET MVC und ich habe eine Aktionsmethode, die wenige Berichte in der Ansicht im Tabellenformat anzeigt.Exportieren einer HTML-Tabelle in Excel von ASP.NET MVC

Ich habe die Anforderung, die gleiche Tabelle zu einem Excel-Dokument mit einem Klick auf eine Schaltfläche in der Ansicht zu exportieren.

Wie kann dies erreicht werden? Wie würden Sie Ihre Aktionsmethode dafür erstellen?

Antwort

1

Erhalten Sie Daten aus der Datenbank Ihre Datenzugriffsmethoden in dot net werden.

Verwenden Sie eine Schleife, um jeden Datensatz zu erhalten.

Fügen Sie nun jeden Datensatz in einer Variablen einzeln nacheinander hinzu.

Name,Email,Phone,Country 
John,[email protected],+12345,USA 
Ali,[email protected],+54321,UAE 
Naveed,[email protected],+09876,Pakistan 

Verwendung ‚neue Zeile‘ Code am Ende jeder Zeile (beispielsweise ‚\ n‘)

nun oberhalb von Daten in eine Datei mit der Erweiterung CSV schreiben (Beispiel data.csv)

nun die Datei öffnet in EXCEL

:)

+1

Was ist, wenn die Werte Komma enthalten? –

+0

@tony_le_montana: http://stackoverflow.com/questions/769621/dealing-with-commas-in-a-csv-file – NAVEED

7

in Ihrer Controller-Aktion könnte man hinzufügen:

Response.AddHeader("Content-Disposition", "filename=thefilename.xls"); 
Response.ContentType = "application/vnd.ms-excel"; 

Dann senden Sie einfach den Benutzer auf die gleiche Ansicht. Das sollte funktionieren.

+4

Works, danke. Nur eine Anmerkung, beschwert sich Excel über Inhalt in einem anderen Format als die Erweiterung. –

Verwandte Themen