Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1447 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Récuperer un tableau excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récuperer un tableau excel

n°1918425
tarikz
Posté le 26-08-2009 à 10:22:01  profilanswer
 

Bonjour,
 
   je souhaiterait savoir comment on peut récuperer , en C# ,un tableau dans une feuille excel ?
 
Merci par avance.

mood
Publicité
Posté le 26-08-2009 à 10:22:01  profilanswer
 

n°1918567
tarikz
Posté le 26-08-2009 à 15:27:22  profilanswer
 

Fred82 la réponse que tu m'a fournie semble intéressante mais le problème c'est que je n'arrive pas à compiler le bout de code qui figure sur l'exemple à cause de  la ligne "dgvCells[cell.Left.Right, cell.Left.Left].Value = cell.Right.Value;"
 
En effet l'objet "dgvCells" n'est référencé nulle part avant !

n°1918584
tarikz
Posté le 26-08-2009 à 16:17:05  profilanswer
 

Je te confirme que j'avais bien lu tout l'article et copié le code des 4 paragraphes . J'ai également téléchargé la dll et ajouté celle ci à mon projet. Mais ça ne marche pas . Il semble que les méthodes de la ExcelLibrary.dll ne fonctionnent pas toutes correctement :(

n°1918598
tarikz
Posté le 26-08-2009 à 16:45:32  profilanswer
 

Ok je ferai pareil.
 
As-tu réussi à ouvrir le fichier excel comme dans le paragraphe 1 ? Il semblerait que la méthode Open() de Workbook n'existe nulle part.

n°1918626
tarikz
Posté le 26-08-2009 à 17:17:31  profilanswer
 

Bravo ! C'est effectivement le cas le code de l'exemple n'est pas en phase avec la librairie à télécharger !
 
Saurais-tu comment copier maintenant le contenu de la sheet sur un document word ?

n°1919059
Kormyr
Posté le 27-08-2009 à 23:05:51  profilanswer
 

Même si c'est un peu en retard, pour les documents Excel j'utilise ExcelPackage qui est pas mal.
 
Exemple de code :
 
Lecture (copié/collé du code d'exemple du site) :

Citation :


using (ExcelPackage xlPackage = new ExcelPackage(existingFile))
{
  // get the first worksheet in the workbook
  ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets[1];
  int iCol = 2;  // the column to read
 
  // output the data in column 2
  for (int iRow = 1; iRow < 6; iRow++)
    Console.WriteLine("Cell({0},{1}).Value={2}", iRow, iCol,  
      worksheet.Cell(iRow, iCol).Value);
 
  // output the formula in row 6
  Console.WriteLine("Cell({0},{1}).Formula={2}", 6, iCol,  
    worksheet.Cell(6, iCol).Formula);
   
} // the using statement calls Dispose() which closes the package.


 
 
Création :

Citation :


using (ExcelPackage xlPackage = new ExcelPackage(newFile, new FileInfo("TonFichier.xlsx" )))
{
  ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets["Feuil1"];
  worksheet.Cell(5, 4).Value = "TonTexte";
  xlPackage.Save();
}


Message édité par Kormyr le 27-08-2009 à 23:07:25
n°1919126
Kormyr
Posté le 28-08-2009 à 10:03:06  profilanswer
 

Oui, il ne produit que du 2007 car il se base sur une nouveauté de Microsoft qui est d'utiliser du XML.
Niveau perfs et stabilité, ExcelPackage doit être mieux que les autres je pense.
 
Sur Excel 2003 tu as un add-on qui te permet d'ouvrir les fichiers Excel 2007.
 
Après si tu utilises Excel 2000 je sait pas si c'est possible d'ouvrir du 2007 mais bon, on peut pas tout avoir ^^


Message édité par Kormyr le 28-08-2009 à 10:04:20

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Récuperer un tableau excel

 

Sujets relatifs
Excel 2007 VBE avez vous ERR.Number =9???problème d'allocation du tableau
Constructeur Tableau - Merci pour votre aide ! :-)recuperer les variables de champs de saisie genere dynamiquement
[VBS] Récupérer Résultat d'une appliAllocation d'un tableau dans une fonction
[VB/VBA/VBS] Excel - Lien entre Tableau croisé dynamique et cellule[XML/XSL] - Récupérer une valeur d'un tableau excel
Récupérer des données de word pour les archiver dans un tableau excelRécupérer en php les valeurs d'un tableau excel d'une feuille Html
Plus de sujets relatifs à : Récuperer un tableau excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR