Bonjour,
J'ai un code en C# qui ouvre un fichier excel et réalise une (ou plusieurs) copie d'une feuille dans le même classeur.
J'ai remarqué que à chaque copie, je me retrouve avec une nouvelle instance d'excel (dans le gestionnaire des tâches). Si je supprime la ligne de code qui effectue la copie, l'instance disparait une fois que j'ai libérer les objets com. (cas normal)
Ma question, est-ce que quelqu'un sait comment effectuer une copie propre ? j'ai beau faire des Marshal.ReleaseComObject sur tous mes objets com utilisés, mais rien à faire. Une bonne âme aurait-elle la solution, merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 XLWorkbook = Wbks.Open("C:\\toto.xls"); XLSheet = XLWorkbook.Sheets["Model"]; XLSheet.Copy(XLWorkbook.Sheets["Model"], System.Type.Missing); XLWorkbook.SaveAs("C:\\tata.xls"); XLWorkbook.Close(); Wbks.Close(); XLApp.Quit(); Marshal.ReleaseComObject(XLSheet); Marshal.ReleaseComObject(XLWorkbook); Marshal.ReleaseComObject(Wbks); Marshal.ReleaseComObject(XLApp);
Partager