VB.netのEPPlus

クリシュナック

既存のxlsファイルにEPPlusを入力しようとしていますが、これまで使用したことはありません。DB内のデータを検索する必要があります。

データを挿入した後、ユーザーは自分のコンピューターにファイルを保存できました。EPPlusについては何も知らないので、これを作成しました。

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

このコードはでクラッシュします

Response.BinaryWrite(package.GetAsByteArray())

誰でもこれで私を助けることができますか?どうもありがとう !

クリシュナック

私のライン

package.save()

問題が発生した場合は、この行を削除するだけで、すべて正常に機能します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事