Extract sur Excel

Jojo092 Messages postés 136 Date d'inscription samedi 24 septembre 2005 Statut Membre Dernière intervention 12 avril 2013 - 20 oct. 2006 à 10:21
Jojo092 Messages postés 136 Date d'inscription samedi 24 septembre 2005 Statut Membre Dernière intervention 12 avril 2013 - 17 nov. 2006 à 17:14
Bonjour à toute l'équipe,

bon je sais pas si c'est le bon endroit pour mon sujet, mais je n'ai pas trouvé d'endroit plus adapté pour ca
Voilà en fait, mon programme (en mode console, donc aucun évènement...) est une gestion de bibliothèque avec gestion adhérent et gestion livre, où toutes mes données sont entreposés dans des fichiers txt non exploitables. Le problème qui se pose est que je dois sortir un état des adhérent ou des livres pour que l'on puisse l'exploiter sous excel. Je sais que le sujet a déjà été posé mais à chaque fois c'était avec une base de donnée, alors que la c'est des fichiers. Est ce que quelqu'un aurait une idée pour m'aider, sachant que comme au boulot je n'ai que VC# express, l'aide MSDN n'ai vraiment pas terrible pour ca...
merci encore pour tous ceux qui m'aideront!!!!
Et bonne journée!!

7 réponses

cs_titi66 Messages postés 120 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 3 mars 2009
20 oct. 2006 à 13:34
bonjour

j'ai eu un peu le même souci avec des fichiers provenant l'un AS400.
j'avais des fichiers qui était des tableaux ou d'autres qui correspondait plus ou moins au détail des infos (1 par page)
j'ai du développer (toujours en cours) une appli en c# qui sort soit des pdf soit des fichiers Excel ou xml
0
Jojo092 Messages postés 136 Date d'inscription samedi 24 septembre 2005 Statut Membre Dernière intervention 12 avril 2013
20 oct. 2006 à 14:35
Oui, merci de ton témoignage ^^, mais en cas si tu pouvais m'expliquer comment tu as fait pour sortir des fichiers xls, ca serait sympa de ta part!!!
Merci
0
Moomoon07 Messages postés 223 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 5 mai 2014
20 oct. 2006 à 15:34
Moi je comprends pas (j'ai beau relire plusieurs fois ) : tu veux les sortir où ? en impression ?
Précise un petit peu et peut être que je pourrais t'aider.

MMN
0
Jojo092 Messages postés 136 Date d'inscription samedi 24 septembre 2005 Statut Membre Dernière intervention 12 avril 2013
20 oct. 2006 à 15:57
Ben non je veux pas les imprimer. je voudrais que les données qui sont dans mes fichiers plats (.txt) et qui ne sont pas exploitables, se mette ds une collection, et que de cette collection, je puisse exporter ces données dans un fichier Excel.
0

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

Posez votre question
Moomoon07 Messages postés 223 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 5 mai 2014
20 oct. 2006 à 16:24
ok.
Ben moi je ferais ca avec un streamwriter et des readline pour récupérer dans le txt.
Pour la manipulation du fichier excel, jte file ca (je sais pas si ca pourra t'aider) :

object Missing = System.Reflection.
Missing.Value;

String fileName = 
CheminDOCS +
"Vierge.xls";Microsoft.Office.Interop.Excel.

_Application xlApp;Microsoft.Office.Interop.Excel.

_Workbook xlClasseur;Microsoft.Office.Interop.Excel.

_Worksheet xlFeuill;xlApp =

new Microsoft.Office.Interop.Excel.Application();xlApp.Visible true;xlClasseur xlApp.Workbooks.Open(fileName,

Missing, Missing, Missing, Missing,

Missing, Missing, Missing, Missing,

Missing, Missing, Missing, Missing,

Missing, Missing);

Microsoft.Office.Interop.Excel.
Sheets xlFeuilles xlClasseur.Sheets;xlFeuill (Microsoft.Office.Interop.Excel.

_Worksheet)xlFeuilles[
"feuil1"];Microsoft.Office.Interop.Excel.

Range r;
//Ecriture dans les cases : A toi de faire tes parcours et tes boucles ...

r = xlFeuill.get_Range(

"A1", Missing);r.set_Value(Microsoft.Office.Interop.Excel.

XlRangeValueDataType.xlRangeValueDefault, Titre.ToString());r = xlFeuill.get_Range(

"A2", Missing); r.set_Value(Microsoft.Office.Interop.Excel.

XlRangeValueDataType.xlRangeValueDefault,
"Imprim‚ le "+
DateTime.Now.ToString().Substring(0,10));

....

J'avais fais ça un jour aussi : ca me permettait de copier un datagrid dans excel avec les couleurs, mais vu que un datagrid a 36000 couleurs et que excel un 50aines, faut arrondir les couleurs :
r.Interior.ColorIndex =

this.getCouleurExcel(System.
Convert.ToInt32(dr.Cells[j].Style.BackColor.R),System.
Convert.ToInt32(dr.Cells[j].Style.BackColor.G),System.
Convert.ToInt32(dr.Cells[j].Style.BackColor.B));

public
int getCouleurExcel(
int R,
int G,
int B){
if (R 0 && G 0 && B == 0)

return 2;

else
if (R > G && R > B)

return 3;

else
if (G > B)

return 4;

else
return 5;}

MMN
0
Jojo092 Messages postés 136 Date d'inscription samedi 24 septembre 2005 Statut Membre Dernière intervention 12 avril 2013
25 oct. 2006 à 09:43
Merci beaucoup. Désolé du retard de am réponse mais j'ai eu un problème avec internet... En tout cas, merci beaucoup pour ta réponse. Je testé et ca marche à peu près, j'ai juste à modifier quelques trucs!!!!

Bonne journée à l'équipe!!!!
0
Jojo092 Messages postés 136 Date d'inscription samedi 24 septembre 2005 Statut Membre Dernière intervention 12 avril 2013
17 nov. 2006 à 17:14
Bonjour à tous, je reprends mon topic pour ne pas en créer un autre, en espérant que quelqu'un le verra...
Voilà donc j'ai réussi à extraire mes données sous excel, mais le problème c'est que je n'arrive pas à faire en sorte que chaque ligne de mon programme se mette dans une nouvelle ligne Excel. Mais sachant que je ne vais pas m'amuser à mettre la référence de chaque cellulle à chaque fois je ne sais pas comment faire. Je vous montre ce que j'ai comme algorithme :

                    Application oXL;

                    _Workbook oWB;
                    _Worksheet oSheet;
                    object Miss = Missing.Value;

                    try
                    {
                        oXL = new Application();
                        oXL.Visible = true;

                        oWB = (Microsoft.Office.Interop.Excel._Workbook) (oXL.Workbooks.Add(Missing.Value));
                        oSheet = (Microsoft.Office.Interop.Excel._Worksheet)oWB.ActiveSheet;

                        oSheet.Cells[1, 1] = "Numéro Livre";
                        oSheet.Cells[1, 2] = "Livre";
                        oSheet.Cells[1, 3] = "Nom Auteur";
                        oSheet.Cells[1, 4] = "Prenom Auteur";
                        oSheet.Cells[1, 5] = "Genre Livre";
                        oSheet.Cells[1, 6] = "Edition";
                        oSheet.Cells[1, 7] = "Langue";
                        oSheet.Cells[1, 8] = "Synopsis";
                        oSheet.Cells[1, 9] = "Date d'Edition";

                        ligne = flivres.ReadLine();
                        while (ligne != null)//boucle sur le fichier
                        {
                            tLigne3 = ligne3.Split(';');
                            if (tLigne3[0] != null)
                            {
                                flag = true;
                                cpt++;
                                cLivre.Add(ligne);//ajout dans la collection des lignes du fichier
                            }
                            ligne = flivres.ReadLine();
                        }
                        if (flag && cpt != 0)
                        {
                            foreach (string ligne4 in cLivre)
                            {
                                tLigne4 = ligne4.Split(';');
                                oSheet.Cells[2, 1] = tLigne4[0];
                                oSheet.Cells[2, 2] = tLigne4[1];
                                oSheet.Cells[2, 3] = tLigne4[2];
                                oSheet.Cells[2, 4] = tLigne4[3];
                                oSheet.Cells[2, 5] = tLigne4[4];
                                oSheet.Cells[2, 6] = tLigne4[5];
                                oSheet.Cells[2, 7] = tLigne4[6];
                                oSheet.Cells[2, 8] = tLigne4[7];
                                oSheet.Cells[2, 9] = tLigne4[8];
                            }
                        }
                    }
                    catch
                    {
                    }

Voilà alors est ce que quelqu'un pourrait éclairer ma lanterne s'il vous plait

P.S : mes enregistrements peuvent très bien aller de 1 à 100 lignes... donc c'est pour ca que je ne peux pas mettre à chaque fois la référence de la cellule!!!
Merci d'avance à tous ceux qui m'aideront!!!!
0
Rejoignez-nous