Salve,
ho una tabella che devo esportare in excel impostando diversi filtri, mi spiego meglio.
Vorrei che, da questa tabella effettuo un primo filtro ed esporto il 1° file
sempre dalla stessa tabelle effettuo un secondo filtro ed esporto il 2° file e così fino a n filtri.
Riesco a creare il primo file, mi apre il file in excel e poi si ferma ritornando alla alla funzione principale.
E' possibile effettuare download multipli di file generati a runtime?

Utilizzo questo script, inserito all'interno di un ciclo, per effettuare l'export:

Protected Sub ExportGridToExcel(Grid As GridView, Name As String)

Response.Clear()
Response.Buffer = True
Dim Header As String = "attachment;filename=" & Name & ".xls"
Response.AddHeader("content-disposition", Header)
Response.Charset = ""
Response.ContentType = "application/vnd.ms-excel"
Using sw As New StringWriter()
Dim hw As New HtmlTextWriter(sw)

Grid.RenderControl(hw)
Dim style As String = "<style> .textmode { mso-number-format:\@; } </style>"
Response.Write(style)
Response.Output.Write(sw.ToString())
Response.Flush()
Response.[End]()
End Using

End Sub
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
vedo che stai scrivendo il contenuto della GridView nella Response. Con questa tecnica è impossibile fornire al client più file perché per ogni Response può esserci un solo contenuto.

Quello che puoi fare è salvare il contenuto della GridView su un file sul disco del server, e fare così per ogni filtro che devi applicare. Poi, tutti i file li aggiungi ad un archivio zip e mandi il file zip al client. Poi sarà l'utente a scompattare lo zip e a consultare i file che gli interessano.

Una soluzione migliore sarebbe quella di creare un file Excel vero e proprio (senza usare l'HTML della GridView), dato che può contenere più fogli di lavoro. Così per l'utente è più rapido perché dovrà solo fare doppioclick per aprire il file.

Alcune librerie che puoi usare per creare dinamicamente i file excel sono:
https://www.nuget.org/packages/NPOI/
https://www.nuget.org/packages/Open-XML-SDK/

ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.