problème à l'ouverture d'Excel (impossible d'effectuer un cast)
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
Code:
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
.... |
Il plante à cette ligne
Code:
AppExcel.Visible = False
Et m'affiche le message suivant :
Citation:
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)).
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.