Salut à tous v'la l'anormal et ses questions connes!!
Bon voila je developpe actuellement une petite application(peu mporte le but) pour mon appli j'ai besoin d'importer dans un tableaux deux dimensions une feuille Excel. Pour ce faire j'ai donc d'abbord une premirere phase qui compte le nombre de ligne ainsi de collonnes pour allouer mon tableau. Puis je rempli on tableau en fais ant une double boucle le probleme c'est que mon fichier Excel est assez gros et que cela met eu moins une minute pour que le tableau soit rempli, Hiiiiii pas bon du tout. Bref la question est de savoir si quelqu'un pourais regarder mon code et me dire si c'est çà cause de la taille du fichier que cela met autant de temps ou alors à cause des méthodes utilisés! Merci d'avance à tous ceux(ou toutes celles) qui pouront m'aider!!
Bref voici le code :
//--Principe-- : On sauvegarde le tableau Excel dans un tableau double dimension
Excel._Application xlApp;
Excel._Workbook xlClasseur;
Excel._Worksheet xlFeuill1;
//Acces à l'application
xlApp = new Excel.Application();
xlApp.Visible = false; //soit disant ne pas faire apparaitre la feuille
//Acces au classeur
xlClasseur = xlApp.Workbooks.Open(fileName,
Missing,Missing,Missing, Missing, Missing, Missing, Missing,Missing,
Missing, Missing,Missing,Missing,Missing,Missing);
//Acces à la feuille
Excel.Sheets xlFeuilles = xlClasseur.Sheets;
xlFeuill1 = (Excel._Worksheet)xlFeuilles["EXPORTINEO"];
//On lit la feuille Excel une premiere fois pour connaitre la taille du tableau
int nb_col=1;
int nb_lign=1;
//On récupère le nombre de ligne
Excel.Range r = (Excel.Range)xlFeuill1.Cells[1,1];
while(r.Value2!=null)
{
nb_lign++;
r = (Excel.Range)xlFeuill1.Cells[nb_lign,1];
}
//On récupère le nombre de colonne
r = (Excel.Range)xlFeuill1.Cells[1,1];
while(r.Value2!=null)
{
nb_col++;
r = (Excel.Range)xlFeuill1.Cells[1,nb_col];
}
//On créer le tableau qui contient la feuille Excel
object[,] info = new object[nb_lign,nb_col];
for (int i=1; i < nb_lign ; i++)
{ //ligne , colonne
for (int j=1; j < nb_col; j++)
{
r = (Excel.Range)xlFeuill1.Cells[i,j];
info[i,j] = r.Value2;
}
}
System.Console.WriteLine("testfini");
System.Console.ReadLine();