2009-12-19 19 views
5

Attualmente sto lavorando con ASP.NET MVC e ho un metodo di azione che visualizza pochi report nella vista in formato tabella.Esportare una tabella HTML in Excel da ASP.NET MVC

Ho un requisito per esportare la stessa tabella in un documento Excel con un clic di un pulsante nella vista.

Come può essere ottenuto? Come creeresti il ​​tuo metodo di azione per questo?

risposta

1

ottenere i dati dal database utilizzando i metodi di accesso ai dati in dot net.

Utilizzare un ciclo per ottenere ogni record.

Ora aggiungere ogni record in una variabile uno per uno come questo.

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

utilizzare il codice 'nuova linea' alla fine di ogni riga (ad esempio '\ n')

Ora scrivere sopra i dati in un file con estensione .csv (esempio data.csv)

Ora aprire il file in Excel

:)

+1

Cosa succede se i valori contengono una virgola? –

+0

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

7

nella vostra azione di controllo si potrebbe aggiungere questo:

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

Quindi basta inviare l'utente alla stessa vista. Questo dovrebbe funzionare

+4

Funziona, grazie. Solo una nota, Excel si lamenta del fatto che il contenuto sia in un formato diverso rispetto all'estensione. –

Problemi correlati