winny68
Messages postés99Date d'inscriptionvendredi 25 avril 2003StatutMembreDernière intervention14 février 2011
-
19 juil. 2007 à 09:54
winny68
Messages postés99Date d'inscriptionvendredi 25 avril 2003StatutMembreDernière intervention14 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.
winny68
Messages postés99Date d'inscriptionvendredi 25 avril 2003StatutMembreDernière intervention14 février 20111 14 août 2007 à 15:13
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.
cs_rodcobalt22
Messages postés193Date d'inscriptiondimanche 10 février 2002StatutMembreDernière intervention16 février 2016 20 juil. 2007 à 12:43
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;
}