4 messaggi dal 30 maggio 2004
per esportare su excel un datagrid uso il seguente codice,che funziona benissimo.
vorrei però che i numeri inizianti con uno zero (come i numeri telefonici) , li mantenessero anche su excel , che invece li rimuove.

grazie a chi vorrà darmi una mano.


Response.Buffer=true;
Response.Clear();
Response.Cache.SetExpires(DateTime.Now.AddSeconds(1));
Response.ContentType = "application/vnd.ms-excel";
Response.AppendHeader
("content-disposition","attachment;filename=export.xls");

Response.Charset = "";
this.EnableViewState = false;
Response.Write("<html xmlns:x=\"urn:schemas-microsoft-com:office:excel\">");
StringWriter tw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
dgDettTotGen.AllowPaging=false;
bindData();
dgDettTotGen.RenderControl(hw);
Response.Write(tw.ToString());
Response.End();
Probabilmente perché li prende come numero. Prova magari a mettere un apice davanti al numero, così lo prende come stringa

Ciao

Il mio blog
Homepage
4 messaggi dal 30 maggio 2004
il problema è come fare!

il datagrid è composto da parecchie colonne,solo una delle
quali da elaborare con gli apici.(e non vorrei mostrare nella
grid a video l 'apice)

er quanto ne capisco (ancora poco) :-)
il codice fa tutto automaticamente nelle due righe :

StringWriter tw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);

come posso intervenire selettivamente sull'oggetto tw per
apporre l'apice solo alla rappresentazione della colonna che
mi interessa ,prima che sia inviato ad excel ?

grazie e ciao
Beh ma lavora sul rendering del controllo, lo stesso dg lo usi sia per esportare in excel sia per mostrarlo a video?
Se aggiungi il gestore dell'evento al volo, oppure crei un dg al volo e fai il rendering di esso

Ciao

Il mio blog
Homepage
4 messaggi dal 30 maggio 2004
GRANDE Ricciolo!
mi hai APERTO gli occhi!
intrercettando il rendering della griglia con l'evento ItemDataBound riesco a
fare l'append dell'apice solo alle colonne che mi interessano.

GRAZIE ancora

p.s. dammi ancora una dritta , ora in excel vedo anche l'apice (es. '0232456765)
c'è un modo per non visualizzarlo , facendo si che excel lo veda correttamente
come indicatore di stringa e non come parte della stringa stessa ?

mille grazie ancora
Azz, strano peché dovresti vedelo solo se sei sopra la cella. Scusa ma non ho mai esportato. Credo cmq che questo metodo sia limitativo perché in pratica te gli dai la tabella html e lui s'arrangia. Ci vorrebbe qualcosa di più potente, come un xml che ti permette di specificare tipi e formattazione (con office2003 c'è)

Ciao

Il mio blog
Homepage
4 messaggi dal 30 maggio 2004
all'xml ho pensato anch'io , ma il sito che stò sviluppando è per il mio reparto aziendale , e l' excel di riferimento è rigorosamente il 2000 (figurati se spendono per l'upgrade quando sanno usare al 10% il 2000 ...)

cmq meglio gli apici che la mancanza di zeri (credimi mi hai tolto un bel
grattacapo!)

se ti viene in mente qualcosa (tipo sostituire l'apice in fase di rendering del datagrid con qualche stringa di formato propria di excel) ogni suggerimento
è bene accetto!

GRAZIE ancora
28 messaggi dal 19 luglio 2001
www.easit.it
io ho risolto in modo diverso:

apri il foglio di excel e applicata la formattazione che più ti piace, poi salvalo in formato html: vedrai che nella pagina che ti salva scrive tutta una serie di stili in testa alla pagina, quindi cerca di creare il file excel mettendo gli stessi contenuti.

Io in pratica ho creato un file che contiene gli stili generati da excel e lo includo prima di scrivere il datagrid.

^^_MiNa_^^

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.