2014-05-07 3 views
1

J'essaie de remplir un fichier xls existant avec EPPlus, mais je ne l'utilise jamais auparavant. Je dois rechercher mes données dans une base de données.EPPlus dans VB.net

Une fois les données insert, l'utilisateur peut enregistrer le fichier sur son ordinateur, je ne sais rien EPPlus donc, je l'ai fait ceci:

Dim ExistFile = Server.MapPath("~/Vues/tableau_qualif1.xlsx") 

Dim File = New FileInfo(ExistFile) 
Dim Connection As New SqlConnection(ConfigurationManager.ConnectionStrings("Formation_2014ConnectionString").ConnectionString) 
Dim i = 3 
Dim Query = "SELECT * FROM personnes" 

Using package As New ExcelPackage(File) 
    package.Load(New FileStream(ExistFile, FileMode.Open)) 

    Dim workSheet As ExcelWorksheet = package.Workbook.Worksheets("Feuil1") 

    Try 
     'Ouverture de la connexion 
     Connection.Open() 
     'Définition de la commande et de ses paramètres 
     Dim Commande As New SqlCommand(Query, Connection) 

     'Création du SqlDataAdapter et du DataSet (En fonction de la Commande) 
     Dim Adaptateur As New SqlDataAdapter(Commande) 
     Dim MonDataSet As New DataSet 
     Try 
      'Définition de l'adaptateur 
      Adaptateur.Fill(MonDataSet, "Personnes") 

      For Each Ligne As DataRow In MonDataSet.Tables("Personnes").Rows() 
       workSheet.Cells("A" & i).Value = Ligne("Prenom_personne").ToString() & " " & Ligne("Nom_personne").ToString() 
       i = i + 1 
      Next 
     Catch ex As Exception 
      MsgBox(ex.Message) 
     End Try 

    Catch ex As Exception 
     MsgBox(ex.Message) 
    End Try 
    'Fermeture de la connexion 
    Connection.Close() 

    package.Save() 


    Response.Clear() 
    Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" 

    Response.BinaryWrite(package.GetAsByteArray()) 

    Response.End() 

End Using 

Cet accident de code à

Response.BinaryWrite(package.GetAsByteArray()) 

Quelqu'un pourrait m'aider avec ça? Merci beaucoup !

+1

Quel message d'erreur obtenez-vous? – mituw16

+0

Ceci: 'L'objet de paquetage a été fermé et éliminé, il ne peut donc pas effectuer d'opérations sur cet objet ou sur tout flux ouvert sur une partie de ce paquet.' – Krishnak

+0

Je viens de supprimer 'package.Save()' 'et tout fonctionne bien ... Mais je suis moins de 10 réputation et je ne peux pas répondre à ma question ... – Krishnak

Répondre

1

Ma ligne

package.save() 

cause de mes problèmes, je supprimer tout cette ligne et toutes fonctionnent très bien!

Questions connexes