Piloter Excel sans avoir installé office [Résolu]

Messages postés
99
Date d'inscription
vendredi 25 avril 2003
Dernière intervention
14 février 2011
- - Dernière réponse : winny68
Messages postés
99
Date d'inscription
vendredi 25 avril 2003
Dernière intervention
14 février 2011
- 14 août 2007 à 15:13
Bonjour,

j'ai fait une application qui pilote des fichiers Excel en utilisant les dlls d'office 2003.

J'aimerai l'utiliser sur d'autre machine, qui ne disose pas forcément d'office 2003, et de ce faite j'aurai voulus savoir si il me suffis de copie les dlls dans le dossiers de l'application ou si je dois obligatoirement avoir office 2003 sur la machine pour que mon application fonctionne ?

merci.

Deux choses sont infinies : l'univers et la bêtise humaine.
Mais en ce qui concerne l'univers, je n'en ai pas encore acquis la cetitude absolue.

Albert Einstein<!--
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
99
Date d'inscription
vendredi 25 avril 2003
Dernière intervention
14 février 2011
3
Merci
Salut rodcobalt22,

je te remercie pour ta super réponse, mais elle ne convient pas à ce que je désire faire sur mes fichiers Excel.
J'ai donc choisie la facilité.
J'ai installer office 2003.

Deux choses sont infinies : l'univers et la bêtise humaine.
Mais en ce qui concerne l'univers, je n'en ai pas encore acquis la cetitude absolue.

Albert Einstein<!--

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 105 internautes nous ont dit merci ce mois-ci

Commenter la réponse de winny68
Messages postés
1025
Date d'inscription
mardi 4 février 2003
Dernière intervention
7 juin 2010
0
Merci
Hello,

Sauf erreur, les dll font partie de la licence office, et tu ne peux pas (légalement) les copier sans avoir une licence sur la machine de destination.

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
Commenter la réponse de SharpMao
Messages postés
99
Date d'inscription
vendredi 25 avril 2003
Dernière intervention
14 février 2011
0
Merci
ok SharpMao, j'ignorais cela.
mais j'ai une licence office 2000 sur l'autre. Mais ça ne fonctionne pas.

Deux choses sont infinies : l'univers et la bêtise humaine.
Mais en ce qui concerne l'univers, je n'en ai pas encore acquis la cetitude absolue.

Albert Einstein<!--
Commenter la réponse de winny68
Messages postés
195
Date d'inscription
dimanche 10 février 2002
Dernière intervention
16 février 2016
0
Merci
Il te reste toujours la possibilté d'attaquer les Fichier Excel comme une base de donnée. Ainsi, il n'y aucune assembly à installer.

Voici une méthode qui peut le faire :

/// <summary>
/// Permet de charger le contenue d'une feuille excel dans une DataTable à partir du chemin et le nom de la feuille désirée
/// </summary>
/// Chemin du fichier Excel


/// Nom de la feuille excel


/// <returns>DataTable contenant l'ensemble des celulles et lignes du fichier Excel. Si la feuille est vide le retour est égal à "Null"</returns>
/// <remarks>Aucune gestion d'exception n'est faite à l'intérieur de cette méthode</remarks>
public DataTable GetfichierFeuilleFichierExcel(string strCheminFichier, string strNomFeuilleExcel)
{
// Chaine de connexion
string strCnx = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strCheminFichier + ";Extended Properties=" + (char)34 + "Excel 8.0;HDR=Yes;" + (char)34 + ";";
System.Data.DataTable dtRetour = null;
System.Data.OleDb.OleDbConnection oCnx = new System.Data.OleDb.OleDbConnection(strCnx);
System.Data.OleDb.OleDbCommand objCmdSelect = null;
System.Data.OleDb.OleDbDataAdapter objAdapter = null;
System.Data.DataSet oDs = new DataSet();

// vérification globale des données entrantes
if(strCheminFichier != string.Empty && strNomFeuilleExcel != string.Empty)
{
if(System.IO.File.Exists(strCheminFichier))
{
// ouvertur de la connexion
oCnx.Open();
// création de la commande
objCmdSelect =new System.Data.OleDb.OleDbCommand("SELECT * FROM ["+ strNomFeuilleExcel +"$]", oCnx);
objAdapter = new System.Data.OleDb.OleDbDataAdapter();
// on informe de l'instruction SELECT
objAdapter.SelectCommand = objCmdSelect;
// on execute la requete en spécifiant le protocole et on remplit le DataSet
objAdapter.Fill(oDs, "XLData");
// Vérification du dataset
if(oDs != null && oDs.Tables != null && oDs.Tables.Count > 0)
{
dtRetour = oDs.Tables[0];
}
else
{
dtRetour = null;
}


// Libération
oCnx.Close();
objCmdSelect.Dispose();
objAdapter.Dispose();
}
}
return dtRetour;
}
Commenter la réponse de cs_rodcobalt22

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.