[C#] SharpDevelop Excel

titouneee Messages postés 70 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 20 juillet 2008 - 1 déc. 2004 à 15:35
titouneee Messages postés 70 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 20 juillet 2008 - 8 déc. 2004 à 10:00
Bonjour,

J'utilise excel 2000, j'ai réussi a ajouter la référence Microsoft excel 9.0 object library. (en allant dans "porjets", clic droit sur "references", "ajouter une référence", dans l'onglet COM j'ai sélectionné la référence a ajouter)

J'ai ensuite fait
Code:
using Excel;

J'ai des erreurs dans mon code que je ne comprends pas.

Code:
object Missing = System.Reflection.Missing.Value;
object fileName = @"C:\Documents and Settings\utilisateur\Bureau\Export.xls";

//Application
Excel._Application xlApp;
//Classeur qui regroupe les feuilles
Excel._Workbook xlClasseur;
//Feuille sur laquelle on travaille
Excel._Worksheet xlFeuill1;

xlApp = new Excel.Application();
xlApp.Visible = false;// ne pas affciher excel dans notre appli

//Accès au classeur excel
xlClasseur = xlApp.Workbooks.Open(ref fileName, ref
Missing,ref Missing,ref Missing,ref Missing,ref
Missing,ref Missing,ref Missing,ref Missing,ref
Missing,ref Missing,ref Missing,ref Missing,ref
Missing,ref Missing);

//Accès aux feuilles du classeur
//On accède a la feuille par son étiquette, ici Feuille1
Excel.Sheets xlFeuilles = xlClasseur.Sheets;
xlFeuill1 = (Excel._Worksheet)xlFeuilles["Feuille1"];

//Accès aux cellules de la feuille
//Mettre argument Missing.Value a la place du second argument si on
//ne souhaite lire qu'une cellule, par défaut get_range prend 2 arg.
Excel.Range r = xlFeuill1.get_Range("A1", "A2");

//Accéder au contenu des deux celules
object[,] cell = (object[,])r.Cells.Value ;

//Modifier le contenu des deux cellules
cell[1,1] = 3.14;

//Lire le contenu d'une des cellules
double valeur = (double)cell[1,1] ;

// Enregistre les modifs des cellules
xlClasseur.Save();
// ferme le XLS
xlClasseur.Close(false, ref Missing, ref Missing) ;
// On met fin au pilotage
xlApp.Quit() ;

A la suite de cela, il m'indique

Code:
"Excel._Apllication does not contain a definition for 'Visible' ",

et
Code:
"Excel._Apllication does not contain a definition for 'Workbooks' "

Je ne comprends pas pourquoi j'ai ces messages...

18 réponses

APWEB Messages postés 74 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 18 octobre 2006 2
1 déc. 2004 à 21:35
Essaie de charger la reference Microsoft Ofiice X.X object library (suivant ta version) .
n

AP
0
titouneee Messages postés 70 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 20 juillet 2008
2 déc. 2004 à 08:43
J'ai chargé la référence Microsoft Ofiice 9.0 object library (j'utilise excel 2000) mais j'ai toujours les memes messages d'erreur

titoune
0
APWEB Messages postés 74 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 18 octobre 2006 2
2 déc. 2004 à 12:59
Essaie de remplacer : xlApp = new Excel.Application();
par xlApp = new Excel.ApplicationClass();

AP
0
titouneee Messages postés 70 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 20 juillet 2008
2 déc. 2004 à 14:29
J'ai essayé également mais rien a faire les erreurs sont toujours la, apparement c'est la version de .Net qui a changé et les appels de fonction ne se font plus de la meme facon, je ne connais pas la nouvelle syntaxe :-/

Titoune
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
APWEB Messages postés 74 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 18 octobre 2006 2
2 déc. 2004 à 15:07
Je ne l'ai pas sous la main , mais j'ai un exemple qui fonctionne ;
dés que je le peu (ce soir ) , je te le met a dispo.

Ap
0
titouneee Messages postés 70 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 20 juillet 2008
2 déc. 2004 à 15:28
ok je te remercie
0
APWEB Messages postés 74 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 18 octobre 2006 2
2 déc. 2004 à 21:21
Comme promis voici l 'exemple , il nest pas de moi mais proviens du Livre de G. Leblanc : C# et .NET :

public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();

//
// TODO: Add any constructor code after InitializeComponent call
//
try
{
xlApp = new Excel.Application();
xlApp.Visible = false;
}
catch (Exception exc) {MessageBox.Show("Impossible de lancer Excel en arrire-plan. "+exc.Message);}
}

/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

(Ici j'ai supprié la partie du desing de la form)

/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
System.Windows.Forms.Application.Run(new Form1());
}
Excel._Application xlApp;
Excel._Workbook xlClasseur;
Excel._Worksheet xlF1;
Excel._Chart xlG1;
private void bOuvrir_Click(object sender, System.EventArgs e)
{
try
{
string sDir = Directory.GetCurrentDirectory();

object M = Missing.Value;
xlClasseur = xlApp.Workbooks.Open(sDir+@"\Fich.xls", M, M, M, M, M, M, M, M, M, M, M, M);

// l'expression ci-dessus est un raccourci pour :
//xlClasseur = xlApp.Workbooks.Open(sDir+@"\Fich.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,Missing.Value,
// Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);

// pour spcifier tous les arguments :
// xlClasseur = xlApp.Workbooks.Open(sDir+@"\Fich.xls", 0, false, 5, "", "", true,Excel.XlPlatform.xlWindows,
// "\t", true, false, false, false);

Excel.Sheets xlFeuilles = xlClasseur.Sheets;

A mon avis ton probleme vient de la declaration de excel et ensuite de l'appel que tu n'as pas du faire au bon endroit ?
J'espere que cela va t'aider à trouver ton erreu

AP
0
ricklekebekoi Messages postés 303 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 24 avril 2009 5
5 déc. 2004 à 00:34
A la suite de cela, il m'indique

Code:
"Excel._Apllication does not contain a definition for 'Visible' ",

et
Code:
"Excel._Apllication does not contain a definition for 'Workbooks' "


C'est pas simplement que le Apllication ne prend qu'un "L" et 2 "P" ??
0
APWEB Messages postés 74 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 18 octobre 2006 2
5 déc. 2004 à 16:06
Oui effectivement application ne prend qu'un l et 2 p , comme c'est marqué dans toutes les lignes de code au dessus ??
Est-ce toi qui l'a tapper comme ça sans faire expres ?

AP
0
titouneee Messages postés 70 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 20 juillet 2008
6 déc. 2004 à 18:10
Oui, Ok !

Mais bon ca marche toujours pas ...
Est-ce que tu utilises toi aussi Sharpdevelop ?

Titoune
0
APWEB Messages postés 74 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 18 octobre 2006 2
6 déc. 2004 à 23:23
Oui ,j'utilise aussi #D , version 1.0 , et je n'ai pour l'instant pas de soucis .
est-ce que tu as toujours a toujours la meme erreur ?
Je sais que ce n'est pas facile mais as tu essaye de recommencer une nouvelle solution ?
0
APWEB Messages postés 74 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 18 octobre 2006 2
6 déc. 2004 à 23:32
As-tu tenu cmpte de la remarque de ricklekebekoi sur le faite qu ton message d'erreur donne une mauvais orthographe pour 'Excel._Apllication' ??
0
titouneee Messages postés 70 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 20 juillet 2008
7 déc. 2004 à 08:33
Pour les erreurs d'orthographe c'est une erreur de frappe de ma part. l'orthographe est correcte dans sharpdevelop.

J'ai toujours mes erreurs, je ne comprends pas pourquoi ca ne fonctionne pas si de ton coté tu arrives a utiliser ces fonctions :-/
0
titouneee Messages postés 70 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 20 juillet 2008
7 déc. 2004 à 09:23
Alors en fait au moment ou j'ai voulu ajouter la référence Microsoft 9.0 Object Library, j'ai eu une erreur qui s'est affichée a l'écran :

Titre de la fenetre du message d'erreur (warningg) : .Net SDK 1.0 not present ?

Message :
Cannot import type library using .Net SDK 1.0. Soma, but not all type libraries can sucessfully be imported without it.

Titoune
0
APWEB Messages postés 74 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 18 octobre 2006 2
7 déc. 2004 à 13:00
As-tu essayé autre chose : juste un "Hello word" en mode consol ??

Sinon malheureusement là , je ne vois qu'une solution , il y en peut etre d'autre , c'est que tu fasse un backup de tes projects #D , desinstaller #D , tout ce qui .net (sdk ...). Et refaire l'installation et voit pour installer la version 1.1 du sdk.

Bon courage

AP
0
titouneee Messages postés 70 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 20 juillet 2008
7 déc. 2004 à 14:17
J'ai bien le framework 1.1 d'installé, tout le reste du projet fonctionne bien, il n'y a que l'export excel qui pose problème.

Merci encore pour tout.

Titoune
0
ricklekebekoi Messages postés 303 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 24 avril 2009 5
7 déc. 2004 à 20:44
Tu a la SDK 1.1 ou la redistribuable 1.1 ?

Selon moi tu n'A que la redistibuable et il te manquerait la sdk

Eric ;)
0
titouneee Messages postés 70 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 20 juillet 2008
8 déc. 2004 à 10:00
Je devais effectivement avoir installé la redistribuable seulement, je vient d'installer la sdk1.1 et tout fonctionne bien maintenant.

Merci beaucoup pour tout !

Titoune
0
Rejoignez-nous