10 messaggi dal 06 ottobre 2004
utilizzando il codice di un messaggio nel forum volevo esportare un oggetto web table in excel.
pero mi apre excel con un foglio bianco ma non vengono inseriti i dati delle celle della table .
Con loggetto table non si puo fare ?
grazie per l'aiuto

'setta il contenuto del datagrid in formato excel
Response.ContentType = "application/vnd.ms-excel"
'rimuovo il set di caratteri
Response.Charset = ""
'disabilita lo stato visibile
Me.EnableViewState = False

'crea le variabili per la formattazione del worksheet
Dim tw As New System.IO.StringWriter()
Dim hw As New System.Web.UI.HtmlTextWriter(tw)

'cattura il testo htm dal datagrid
table1.RenderControl(hw)
'scrivi il codice che deve essere restituito al browser
Response.Write(tw.ToString())
'termina
Response.End()
Definisci il Content-Type come "application/vnd.ms-excel". Quindi crea la tabella a run-time, per esempio con uno StringBuilder in un ciclo iterativo, e poi scrivila sull'oggetto Response.

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
10 messaggi dal 06 ottobre 2004
rickyvr ha scritto:
Definisci il Content-Type come "application/vnd.ms-excel". Quindi crea la tabella a run-time, per esempio con uno StringBuilder in un ciclo iterativo, e poi scrivila sull'oggetto Response.

Ciao, Ricky.

ho provato ma con StringBuilder riesco solamente a fare una stringa concatenata che viene esportata ma chiaramente me la trovo tutta nella prima cella di excel
ti ringrazio se puoi darmi qualche altra indicazione
ciao
10 messaggi dal 06 ottobre 2004
scusate se ripropongo lo stesso problema ma non sono riuscito a risolverlo


Re: RenderControl di un oggetto table

--------------------------------------------------------------------------------


rickyvr ha scritto:


Definisci il Content-Type come "application/vnd.ms-excel". Quindi crea la tabella a run-time, per esempio con uno StringBuilder in un ciclo iterativo, e poi scrivila sull'oggetto Response.

Ciao, Ricky.

ho provato ma con StringBuilder riesco solamente a fare una stringa concatenata che viene esportata ma chiaramente me la trovo tutta nella prima cella di excel
ti ringrazio se puoi darmi qualche altra indicazione
ciao

rickyvr Re: RenderControl di un oggetto table

--------------------------------------------------------------------------------


Definisci il Content-Type come "application/vnd.ms-excel". Quindi crea la tabella a run-time, per esempio con uno StringBuilder in un ciclo iterativo, e poi scrivila sull'oggetto Response.

Ciao, Ricky.

lpeiro RenderControl di un oggetto table

--------------------------------------------------------------------------------


utilizzando il codice di un messaggio nel forum volevo esportare un oggetto web table in excel.
pero mi apre excel con un foglio bianco ma non vengono inseriti i dati delle celle della table .
Con loggetto table non si puo fare ?
grazie per l'aiuto

'setta il contenuto del datagrid in formato excel
Response.ContentType = "application/vnd.ms-excel"
'rimuovo il set di caratteri
Response.Charset = ""
'disabilita lo stato visibile
Me.EnableViewState = False

'crea le variabili per la formattazione del worksheet
Dim tw As New System.IO.StringWriter()
Dim hw As New System.Web.UI.HtmlTextWriter(tw)

'cattura il testo htm dal datagrid
table1.RenderControl(hw)
'scrivi il codice che deve essere restituito al browser
Response.Write(tw.ToString())
'termina
Response.End()
Dim sb As New System.Text.StringBuilder()
Dim output As String

sb.Append("<table>" & vbCrLf)
sb.Append("<tr>" & vbCrLf)
sb.Append("<td>Cella A1</td><td>Cella B1</td><td>Cella C1</td><td>Cella D1</td>" & vbCrLf)
sb.Append("</tr>" & vbCrLf)
sb.Append("<tr>" & vbCrLf)
sb.Append("<td>Cella A2</td><td>Cella B2</td><td>Cella C2</td><td>Cella D2</td>" & vbCrLf)
sb.Append("</tr>" & vbCrLf)
sb.Append("<tr>" & vbCrLf)
sb.Append("<td>Cella A3</td><td>Cella B3</td><td>Cella C3</td><td>Cella D3</td>" & vbCrLf)
sb.Append("</tr>" & vbCrLf)
sb.Append("<tr>" & vbCrLf)
sb.Append("<td>Cella A4</td><td>Cella B4</td><td>Cella C4</td><td>Cella D4</td>" & vbCrLf)
sb.Append("</tr>" & vbCrLf)
sb.Append("<tr>" & vbCrLf)
sb.Append("<td>Cella A5</td><td>Cella B5</td><td>Cella C5</td><td>Cella D5</td>" & vbCrLf)
sb.Append("</tr>" & vbCrLf)
sb.Append("</table>" & vbCrLf)
output = sb.ToString()

Response.ContentType = "application/vnd.ms-excel"
Response.Write(output)
Response.End()


Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
10 messaggi dal 06 ottobre 2004
ti ringrazio del tuo aiuto con un po di ritardo ma ho avuto dei problemi sul lavoro.
seguendo le tue indicazioni ho fatto un routine a cui passando un qualsiasi oggetto table costruisce la stringa per esportare in excel e funziona perfettamente
Grazie ancora Lodovico

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.