Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Eport Excel 15.000 record
mercoledì 21 febbraio 2007 - 09.14
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
erik77
Profilo
| Senior Member
217
messaggi | Data Invio:
mer 21 feb 2007 - 09:14
Ciao ragazzi,
dovrei realizzare un metodo su un WebService che mi ritorni i dati di una tabella del DB SqlServer 2000 (circa 15.000 record ) . La Web Application che richiama il metodo dovrà poi salvare i dati in un foglio Excel per permettere il download.
Vorrei chiedervi la strada migliore per sviluppare la richiesta e se l'uso del Web Service è consigliato per una mole di dati così importante.
Per la creazione del file Excel ho provato a trasferire i dati della Query SQL in una struttura HTML con la TABLE.... ma ho visto che il file generato è troppo grande (20 Mb circa...) ... quindi penso che dovrò utilizzare qualche oggetto che mi faccia lavorare nel formato proprietario di Excel..
rimango in attesa di un vostro aiuto.... e vi ringrazioo in anticipo....
Ciaoooo :-)
xiongh
Profilo
| Newbie
2
messaggi | Data Invio:
mer 28 feb 2007 - 11:53
DataGrid grid = new DataGrid();
DataTable dt= funzione(oggetto che contiene i tuo datii);
grid.DataSource = dt;
grid.DataBind();
Response.ContentType = "application/vnd.ms-excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
this.EnableViewState=false;
System.IO.StringWriter tw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new
System.Web.UI.HtmlTextWriter(tw);
gridTestata.RenderControl(hw);
string str_tw_ = tw.ToString();
Response.Write(str_tw);
Response.Flush();
Response.Close();
private DataTable funzione(oggetto che contiene i tuo datii);
{
DataTable dt = new DataTable("Flussi");
dt.Columns.Add(new DataColumn("Colonna A", typeof(String)));
dt.Columns.Add(new DataColumn("Colonna B", typeof(String)));
....
....
object[] values = new object[numero delle colonne];
values[0] = ...;
values[1] = ....;
values[2] = ...;
dt.Rows.Add(values);
return dt
}
erik77
Profilo
| Senior Member
217
messaggi | Data Invio:
gio 1 mar 2007 - 14:18
grazie della risposta....
quello che però dovrei fare io è passare i dati del DataSet nel foglio Excel e non quelli del DataGrid (questo perchè nel DataGrid "bindo" molti meno dati)
ed inoltre poter decidere quali campi del DataSet passare nel foglio Excel.
Adesso l'applicazione cicla sul DataSet per scegliere quali CAMPI scrivere nel foglio Excel... ma l'operazione è molto lenta a fronte di molti record....
sto cercando anche io la soluzione migliore per compiere questa operazione da DataSet ad Excel ... se riuscite a darmi qualche suggerimento... ve ne sarei grato
Visto che devo esportare una grande mole di dati mi servirebbe il metodo più veloce e quello che crei il file di una dimensione ridotta...
Ciaoooooo
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !