Bonjour
J'ai un énorme problème pour ouvrir Excel, et je galère depuis pas mal de temps maintenant. Je dois générer un tableau Excel contenant les résultats d'une requête SQL mais je n'arrive pas à ouvrir le fichier Excel. Ca fait des heures que je galère et en plus, je suis chez un client ... J'ai déjà développé mon application sur mon lieu de travail et ça marchait nickel (base de données en local sous XP Pro) et chez le client sur le poste client, ça plante (Windows 7 avec bdd sur serveur). Le fichier Excel doit pouvoir être généré en local avec des données qui figurent donc sur le serveur.
Voici une partie de mon code
Il plante à cette ligne
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 Imports System.Windows.Forms Imports System.IO Imports Microsoft.Office.Interop.Excel Module mEcheanciers Public Sub GenererEcheancier(ByVal Tiers As String) Dim AppExcel As Microsoft.Office.Interop.Excel.Application 'Application Excel' Dim WkBook As Microsoft.Office.Interop.Excel.Workbook 'Classeur Excel' Dim WkSheet As Microsoft.Office.Interop.Excel.Worksheet 'Feuille de travail Excel' ... Dim StSql As String = "SELECT DateE, RefDoc, E.Code,E.Compte, DateP, E.NumEcr, Libelle, MontantDev, MontantRglDev, MontantInteret, ProvApp, ProvFic, NumEch, TypeTiers, Ecr.Code FROM Echeance E, EcrAna Ecr WHERE E.NumEcr = Ecr.NumEcr AND E.TypeTiers = 'C' ORDER BY DateE,RefDoc" ... ChaineConnexion = "File Name=finance.udl" SaveFileDialog.InitialDirectory = System.IO.Directory.GetCurrentDirectory 'Initialisation des variables' iColonnes = 1 iLignes = 1 Connect.ConnectionString = ChaineConnexion Try 'Ouverture de la connexion à la base de données' Connect.Open() 'Ouverture du recordset' rst.Open(StSql, Connect) 'Ouverture du fichier Excel vierge' AppExcel = New Microsoft.Office.Interop.Excel.Application AppExcel.Visible = False WkBook = AppExcel.Workbooks.Add() WkSheet = WkBook.ActiveSheet ... Catch ....
Et m'affiche le message suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part AppExcel.Visible = False
J'imagine qu'il s'agit d'un problème concernant la librairie Microsoft.Office.interop.excel.dll mais je galère quand même. Je précise que j'ai rajouté les références suivantes à mon projet : Microsoft Excel 11.0 Object Library, Microsoft ActiveX Data Library 6.0, Microsoft.VisualStudio.DebuggerVisualizers, System.Windows.Forms, et que mon environnement de développement est Visual Basic 2008 Express Edition.Impossible d'effectuer un cast d'un objet COM de type 'Microsoft.Office.Interop.Excel.ApplicationClass' en type d'interface 'Microsoft.Office.Interop.Excel._Application'. Cette opération a échoué, car l'appel QueryInterface sur le composant COM pour l'interface avec l'IID '{000208D5-0000-0000-C000-000000000046}' a échoué en raison de l'erreur suivante : Erreur lors du chargement de la bibliothèque/DLL du type. (Exception de HRESULT : 0x80029C4A (TYPE_E_CANTLOADLIBRARY)).
Partager