Bonjour,

Je cherche à exporter des données vers Excel et je rencontre un problème de persistance du process "EXCEL.EXE" malgrés la libération des ressources utilisées.

Voici le code que j'utilise pour créer le classeur le fichier xls :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim xla As New Excel.Application
        'xla.Visible = True
        Dim xlb As Excel.Workbook = xla.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet)
        Dim xls As Excel.Worksheet = xlb.ActiveSheet
 
        xls.Cells(1, 1) = "test"
        xls.SaveAs("C:\temp\test.xls")
 
        xlb.Close(False)
        xls = Nothing
        xlb = Nothing
        xla.Quit()
        xla = Nothing
Tout se déroule correctement sauf qu'il est impossible ensuite d'ouvrir le fichier xls. Ceci parce que le process Excel tourne toujours sur la machine. Ce process est par ailleurs détruit qu'avec la fermeture de l'application .net. Une fois le process supprimé de cette manière, le classeur xls crée ne pose aucun problème.

L'application est sous VS2005, Excel est en version 2000 (9.0 -SP3).
Les références aux Object Library Office et Excel sont bien faîtes dans le projet, les dll bien présentes dans la solution.

Avez-vous une idée du pourquoi le process Excel continue de fonctionne aprés la libération des ressources associées; Une solution à m'apporter ?