Bonjour,

Je viens vers vous, car après de multiple recherches ... il semblerait que je sois la seule à avoir ce problème

Je souhaite remplir un fichier Excel existant puis l'afficher à l'utilisateur. Le processus fonctionne parfaitement, le fichier Excel est modifié correctement.
Cependant ... à l'ouverture du fichier Excel j'ai le message d'erreur suivant :

Nom : erreurExcel.PNG
Affichages : 241
Taille : 18,4 Ko

Voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
    Protected Sub Export_Europe(ByVal code_fournisseur As String, ByVal libelle_fournisseur As String, ByVal liste_articles As StringCollection)
 
        Dim fileVar As FileInfo
        Dim wbExcel As ExcelWorksheet
        Dim package As ExcelPackage
 
        Dim dt As DataTable = New DataTable
        Dim i As Integer
 
        Dim matricePath As String = CHEMIN_DOCS_ARTICLE & "Matrice\Matrice_Demande_Europe.xlsx"
        Dim folderPathExport As String = CHEMIN_DOCS_ARTICLE & "Temporary\"
        Dim fileNameExport As String = Year(Now) & "-" & Month(Now) & "-" & Day(Now) & "-ICR-FR-" & Session("initiales") & "-" & libelle_fournisseur.Replace(" ", "_") & ".xlsx"
        Dim filePathExport As String = folderPathExport & fileNameExport
 
        ' RECUPERATION DES DONNEES
 
 
        rqt = "la requete"
        Try
            connexion_SQLServer.Open()
            dr_SQLServer = cde_SQLServer.ExecuteReader()
 
            dt.Load(dr_SQLServer)
 
            dr_SQLServer.Close()
        Catch ex As Exception
            System.Diagnostics.Debug.WriteLine("Erreur Requete GridViewNeuf_RowCommand Update Demande Article")
            Me.ClientScript.RegisterStartupScript(Me.GetType(), "MessageBox", "alert('Erreur lors de la connexion à la base de données (6).');", True)
            If (connexion_SQLServer.State = ConnectionState.Open) Then
                connexion_SQLServer.Close()
            End If
        End Try
 
 
        ' ECRITURE DU FICHIER EXCEL
        If Dir(filePathExport, vbHidden) <> "" Then
            Kill(filePathExport)
        End If
 
        If Not Directory.Exists(folderPathExport) Then
            Directory.CreateDirectory(folderPathExport)
        End If
        FileCopy(matricePath, filePathExport)
 
        fileVar = New FileInfo(filePathExport)
 
        package = New ExcelPackage(fileVar)
 
        wbExcel = package.Workbook.Worksheets("Feuil1")
 
        i = 7
        For Each dr As DataRow In dt.Rows
            wbExcel.Cells("A" & i).Value = "FR"
            wbExcel.Cells("B" & i).Value = code_fournisseur
            wbExcel.Cells("C" & i).Value = libelle_fournisseur
            wbExcel.Cells("D" & i).Value = dr(0)
 
 
            i = i + 1
        Next
 
        package.Save()
        'package.Dispose()
 
       'Téléchargement
        Response.Clear()
        Response.ContentType = "application/octet-stream"
        'Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
        Response.AddHeader("Content-Disposition", "attachment; FileName=" + fileNameExport)
        Response.WriteFile(fileVar.FullName)
        'Response.Flush()
        'Response.End()
 
        'If Dir(filePathExport, vbHidden) <> "" Then
        '    Kill(filePathExport)
        'End If
 
    End Sub
J'ai supprimé la requête qui est énorme et qui n'apporte rien à la compréhension puisque cette partie fonctionne.

Si vous avez une idée je prends ... parce que là, je suis à cours.


Information complémentaire :
Si je dé-commente le "Response.End", je n'ai pas le message d'erreur. Sauf que ça ne me convient pas puisque je dois je recharger la page ensuite.

Merci d'avance