23 messaggi dal 16 giugno 2014
Buonasera a tutti

Tramite la classe in oggetto, e le funzioni associate, creo un report che poi apro direttamente in Excel, tramite il noto metodo:
Response.AddHeader("content-disposition", "attachment;filename=foglio.xls");

Le celle singole le creo tramite i metodi:

row = new HtmlTableRow();
cell = new HtmlTableCell();
cell.InnerText....
row.Cells.Add(cell);


Ho due problemini.
Non riesco a far capire in Excel, che il contenuto è testo, quindi se metto in cella "00045" lui la trasforma in 45. Ho messo un apice prima, come si fa in Excel (direttamente), ma purtroppo si vede.

Non riesco in un altro campo ad andare a capo. In Excel basta usare la combinazione <Alt> + ENTER, ma fino ad ora, non ci sono riuscito.

Grazie 1000
23 messaggi dal 16 giugno 2014
Mi rispondo da solo, a beneficio di altri che dovessero avere simile problema

Per andare a capo, occorre necessariamente utilizzare:

cell = new HtmlTableCell();
cell.InnerHtml

anziché:
cell.InnerText

In questo modo mettere <br> equivale effettivamente ad un return, mentre con "cell.InnerText" il testo viene scritto nella cella.

Usando <br/> si va però a cela nuova e le celle vicine vengono unite assieme.

Per andare a capo, su stessa cella basta scrivere alla fine:

cell.InnerHtml += "<br style='mso-data-placement:same-cell;' />";
e si resta lella stessa cella.

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.