Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881

    Export in excel con updatepanel

    Ho scoperto che questo codice
    codice:
     Protected Sub ExportToExcel(sender As Object, e As EventArgs)
          Dim nomefile = "XLS_export"
    
          Response.Clear()
          Response.Buffer = True
          Response.AddHeader("content-disposition", "attachment;filename=" & nomefile & ".xls")
          Response.Charset = ""
          Response.ContentType = "application/vnd.ms-excel"
          Using sw As New StringWriter()
             Dim hw As New HtmlTextWriter(sw)
             hw.WriteLine("<b>Giacenze:</b>")
            
                'style to format numbers to string
                Dim style As String = "<style> .textmode { } </style>"
                Response.Write(style)
                ' Response.Output.Write(sw.ToString())
                Dim stringa As String = sw.ToString()
                Response.Output.Write(stringa)
    
                Response.Flush()
    
                Response.End()
         
          End Using
       End Sub
    che uso per esportare verso excel alcuni dati, funziona solo in assenza di un updatepanel... ho provato infatti a rimuoverlo e il file viene generato correttamente mentre se invece lo lascio, trovo nella finestra di ispezione del browser l'errore seguente:
    Error: Sys.WebForms.PageRequestManagerParserErrorExceptio n: Impossibile analizzare il messaggio ricevuto dal server.

    Si può mica fare in modo che funzichi senza togliere l'updatepanel?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  2. #2
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    E aggiungo: è possibile fare in modo che oltre ai dati anche le immagini vengano portate dentro all'xls?
    Se non sbaglio mi porta dentro solo il percorso del file relativo al server da cui il file è letto e quindi quando apro l'xls non trova l'immagine...
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    riguardo la prima domanda, non va fatto in asincrono, a quanto pare. e forse con l'UP l'asincrono è il default.

    https://tinyurl.com/y5acka3p

    e
    https://forums.asp.net/t/1086319.asp...AX+Updatepanel
    (una risposta in basso con l'aggiunta del trigger)


    in sostanza credo basti aggiungere
    codice:
    <asp:PostBackTrigger ControlID="btnCheFaPostback" />

    fai sapere se funziona..
    Ultima modifica di djciko; 06-11-2019 a 16:44

  4. #4
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    Non lo so: l'updatepanel è nella masterpage (), ho provato ad aggiungere il bottone ai triggers via codice dalla pagina figlia così:
    codice:
             Dim mytrigger As PostBackTrigger = New PostBackTrigger()
             mytrigger.ControlID = Button2.UniqueID
             Dim masterupdatepanel As UpdatePanel = Master.FindControl("MyUpdate2")
             masterupdatepanel.Triggers.Add(mytrigger)
    ma non ne vuole sapere perciò ho disattivato (rimosso) l'updatepanel e così funzia (ma devo vedere se non mi si pianta altro in giro per il sito).


    Per le immagini devo forse convertirle in qualche formato?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    ma io intendevo nell'aspx, con l'ID del bottone che fa il postback (poi non conosco il codice)...

    per le immagini dipende, stai usando qualche libreria oppure è l'interop di Microsoft ?

  6. #6
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    Quote Originariamente inviata da djciko Visualizza il messaggio
    ma io intendevo nell'aspx, con l'ID del bottone che fa il postback (poi non conosco il codice)...

    per le immagini dipende, stai usando qualche libreria oppure è l'interop di Microsoft ?
    Si ho capito ma come faccio nell'aspx a dichiarare il controllo nella pagina figlia come trigger dell'updatepanel che è nella pagina master?

    Nessuna libreria, il codice è tutto lì.
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    guarda, non sono espertissimo di masterpage, mi sono sempre state antipatiche, ma renderizzandola in ogni pagina alla fine, se l'Updatepanel non è chiuso (il tag intendo), puoi inserire anche l'altra sezione dei triggers nella pagina figlia, o sto dicendo una cavolata ? Sto parlando delle sezioni <ContentTemplate> e <Triggers>.

    poi...tu lo hai fatto lato server, ma in debug, la variabile 'masterupdatepanel' la valorizza ?

    PS, una hint che ricordo: l'azione dell'UpdatePanel puoi controllarla lato server, con UpdateMode="Conditional" e poi lato server con il metodo .Update()

    (comunque, se hai risolto togliendolo, se non hai altri casini, lascia cosi'. Era solo per test e per capire)

    ---
    sull'immagine in Excel apri un altro thread, stiamo parlando di due cose molto diverse nello stesso
    Ultima modifica di djciko; 07-11-2019 a 13:50

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.