|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2005
Messaggi: 332
|
[VB.NET] Page break su foglio Excel esportato
Salve.
Dovrei esportare il contenuto di una GridView di una pagina aspx in un foglio di Excel. In sostanza si tratta di un calendario lezioni per una scuola, che contiene tutte le lezioni che ci sono in una settimana. La mia esigenza è di mettere un'interruzione di pagina prima del giovedi, in modo che ci siano 3 giorni su una pagina e 3 su un'altra. Questo è il metodo che utilizzo per esportare: Codice:
Response.Clear() Response.Buffer = True Response.ContentType = "application/vnd.ms-excel" Response.Charset = "" Me.EnableViewState = False Dim oStringWriter As New System.IO.StringWriter Dim oHtmlTextWriter As New System.Web.UI.HtmlTextWriter(oStringWriter) Dim GridViewD As New GridView GridViewD = dg 'Dove dg è la GridView che viene dalla pagina ... 'Qui il codice vario per formattare ... GridViewD.RenderControl(oHtmlTextWriter) Dim stringa As String = oStringWriter.ToString() Response.Write(stringa) Response.[End]() Sono più o meno riuscito comunque a formattare il foglio in modo soddisfacente ma l'unica cosa rimasta in sospeso è appunto l'interruzione. Avendo colonne fisse, ho inserito questo codice nel punto giusto: Codice:
If GridViewD.Rows(i).Cells(1).Text.StartsWith("Giovedi ") Then
GridViewD.Rows(i).Style.Add("page-break-before", "always")
End If
Se io metto un break point prima del Response.Write e guardo cosa c'è in "stringa", noto che l'attributo CSS page-break-before è correttamente presente nel tag TR della riga dove c'è Giovedi. Se io copio il contenuto di "stringa" e lo incollo in notepad salvandolo poi come pagina HTM, aprendola da browser e andando su anteprima di stampa, l'interruzione è presente e corretta. Se invece lascio che generi il file XLS, mi apre Excel, vado in anteprima di stampa e l'interruzione è sparita. Se poi salvo come HTM il file XLS appena creato, vedo che nel codice HTML page-break-before è effettivamente scomparso. Mi viene quindi il sospetto che Excel elabori il codice HTML un po' a modo suo... Ho cercato molto anche in internet ma non ho trovato altro al momento. Ringrazio in anticipo chi vorrà darmi una dritta.
__________________
Toshiba Satellite L855-10W - Asus H97 Pro Gamer, Intel i5-4690, G.Skill TridentX F3-1600C7D-16GTX, SSD Samsung 850 Pro 256GB, 2 x WD10EADS 1 TB, MSI GeForce GTX 970 Gaming 4G, Asus BW-16D1HT, APC Back-UPS ES 700VA, LG 22", Philips MMS 231/00 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:43.



















