Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    esportazione dati in excel

    All'interno di una pagina aspx ho aggiunto una funzione che prende i dati presenti in un datagrid e li salva in un file xls.
    La funzione è questa:

    Response.ContentType = "application/vnd.ms-excel"

    Response.Charset = ""

    Me.EnableViewState = False

    Dim tw As New System.IO.StringWriter
    Dim hw As New System.Web.UI.HtmlTextWriter(tw)

    [nome_datagrid].RenderControl(hw)

    Response.Write(tw.ToString())
    ' End the response.

    Response.End()

    detto ciò vorrei farvi un paio di domande:
    come faccio a cambiare il nome di default per salvare il file xls??? il browser usa il nome della pagina combiando l'estensione
    come posso fare per aggiungere dei campi al mio file excel o addirittura togliere delle colonne che non voglio far visualizzare all'interno del mio file xls????

    grazie

  2. #2
    response.ContentType = "application/vnd.ms-excel"
    response.AddHeader( "content-disposition", "inline; filename=nomeFile.xls" )
    "...non è detto che sia tardi se non guardi che ora è..."

  3. #3
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    io ho notato che questo metodo con più di 100 record ha difficolta nel creare il file excel...posso risolvere in qualche modo ??

  4. #4
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    qualcuno che mi supporti ???.

  5. #5
    Perchè non utilizzate ADO per scrivere su un file excel?

    In quel modo potete trattare excel come una tabella di un qualsiasi database.
    Visual Basic e Dintorni
    Blog sullo sviluppo Web in generale

  6. #6
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Ovvero usare excel come un db ??? io credevo si potesse solo leggere da file xls.

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da cassano
    Ovvero usare excel come un db ??? io credevo si potesse solo leggere da file xls.
    http://www.connectionstrings.com/?carrier=excel
    queste le stringhe di connessione.

    Ma una gestione piu' completa è discussa qui:
    http://forum.html.it/forum/showthrea...hlight=interop
    (anch'esso un metodo con i suoi svantaggi)

  8. #8
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Si ma col primo metodo recuperi solo i dati,ma come li esporti poi in excel ???.

  9. #9
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da cassano
    Si ma col primo metodo recuperi solo i dati,ma come li esporti poi in excel ???.
    col secondo ma ti ripeto...ne discutemmo a suo tempo e si concluse che alla fine va bene soltanto in alcune occasioni..

  10. #10
    Non so se fa quello che vi serve, cmq ecco come utilizzo io i files excel (visti come un db)

    codice:
    Public Function CreateExcelOrder(ByVal userID As Integer, ByVal DataRows As Data.DataTable, ByVal BaseFilePath As String, _
            ByVal FilePath As String, Optional ByVal Notes As String = "", Optional ByVal FileName As String = "", Optional ByVal Reference As String = "") As String
    
            Dim con As OleDb.OleDbConnection
            Dim cmd As OleDb.OleDbCommand
            Dim SaveFilePath As String = FilePath
    
            If FileName = "" Then
                SaveFilePath = SaveFilePath & "\" & CStr(userID) & ".xls"
            Else
                SaveFilePath = SaveFilePath & "\" & FileName
            End If
    
            SaveFilePath = Replace(SaveFilePath, "\\", "\")
    
            System.IO.File.Copy(BaseFilePath, SaveFilePath)
    
            con = New OleDb.OleDbConnection
            con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & SaveFilePath & ";" & _
                                            "Extended Properties = ""Excel 8.0;HDR=YES;"""
            con.Open()
    
            cmd = New OleDb.OleDbCommand
            cmd.Connection = con
    
            cmd.CommandText = "Insert Into [Foglio1$] (Codice_Fidi, Quantità, Appunti, Riferimenti, Tipologia_acquisizione) Values ('" & DataRows.Rows(0).Item(0) & _
                    "', " & DataRows.Rows(0).Item(1) & ", '" & Notes & "', '" & Reference & "', '03')"
            cmd.ExecuteNonQuery()
    
            For i As Integer = 1 To DataRows.Rows.Count - 1
                cmd.CommandText = "Insert Into [Foglio1$] (Codice_Fidi, Quantità) Values ('" & DataRows.Rows(i).Item(0) & _
                                "', " & DataRows.Rows(i).Item(1) & ")"
                cmd.ExecuteNonQuery()
            Next
    
            cmd.Dispose()
            cmd = Nothing
            con.Dispose()
            con = Nothing
            Return FileName
        End Function
    Visual Basic e Dintorni
    Blog sullo sviluppo Web in generale

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.