Excel et C#

Fermé
inf3 Messages postés 3 Date d'inscription jeudi 24 mars 2005 Statut Membre Dernière intervention 30 mars 2007 - 30 mars 2007 à 12:37
 lilo - 15 févr. 2012 à 17:26
Bonjour,
J'utilise Microsoft Visual Studio .NET 2003 pour programmer en C#.
Je veux écrire une classe (application webform) qui permet d'ouvrir un fichier Excel. Pour celà j'ai installé Office XP PIA ; j'ai ajouté les références nécessaires mais avec la ligne
de code:

Microsoft.Office.Interop.Excel.Application ExlObj = new Microsoft.Office.Interop.Excel.Application();

le message d'erreur suivant apparait:

Le type ou le nom d'espace de noms 'Interop' n'existe pas dans la classe ou l'espace de noms 'Microsoft.Office' (une référence d'assembly est-elle manquante ?)

Vous avez une solution?
Merci d'avance!
A voir également:

4 réponses

Le message date quelque peu mais cela peut toujours être utile :


Il faut ajouter un référence(une DLL plus précisément) à ton programme qui doit porter le nom de Microsoft Excel il me semble(version 11 pour excel 97-2003 et 12 pour excel 2007) puis faire une inclusion du type

using Microsoft.Windows.Interop.Excel;

Tu pourras ensuite utiliser toutes les fonctions d'excel dans ton programme.
3
Essaie
Microsoft.Office.Interop.Excel._Application ExlObj = new Microsoft.Office.Interop.Excel.Application();

Junior
2
bonjour ,
je voulais savoir si ce problème a été résolu car j ai le meme problème.
Merci
0
bonjour

J'ai développé une DLL afin d'offrir plus de nouvelles fonctions de calcul en C#
Je n'arrive pas à mettre un commentaire pour chaque fonction.
Avez-vous une idée de la la facon de procéder

Avant en xla, on faisait comme ceci !

namespace XLRegistration {
Arg SubPeriodArgs[]= {
{ "date"," Date "},
{ "n"," Integer "},
{ "tu"," Time unit "},
{ "cal"," Calendar "},
{ "adj"," Adjustment "} };
XLFunctionRegistrationHelper registerSubPeriod("xlSubPeriod",
"SubPeriod",
" Returns a date shifted in the past by a given time period ",
XLL_NAME,SubPeriodArgs,"PPPPP");
}

comment fait-on en .NET !


Merci
0
ok
0