[C#] Ecrire dans Excel
Résolu
halo_quebec
Messages postés
161
Date d'inscription
Statut
Membre
Dernière intervention
-
Akkai -
Akkai -
Bonjour,
voila ma question est simple, du moins je crois,
j'utilise visual studios 2008 et j'ai besoin de faire un log dans un fichier excel et je me demande comment faire pour ecrire dans un fichier excel avec c#
je n'ai pas besoin de faire de graphique ou de macro, rien de complexe juste ecrire dans les cellules
sa fait 2 semaine que je chercher sur internet et j'ai toujours rien trouver
merci de votre aide
bonne journee/ soiree
voila ma question est simple, du moins je crois,
j'utilise visual studios 2008 et j'ai besoin de faire un log dans un fichier excel et je me demande comment faire pour ecrire dans un fichier excel avec c#
je n'ai pas besoin de faire de graphique ou de macro, rien de complexe juste ecrire dans les cellules
sa fait 2 semaine que je chercher sur internet et j'ai toujours rien trouver
merci de votre aide
bonne journee/ soiree
A voir également:
- [C#] Ecrire dans Excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Écrire plusieurs lignes dans une cellule excel mac - Guide
- Ecrire en gras sur whatsapp - Guide
- Déplacer colonne excel - Guide
11 réponses
Tu écrit de façon séquentielle dans un fichier texte dont tu met comme extension .csv
Et tu sépare les valeurs par des point-virgule ( ; ).
Exemple de contenu d'un fichier csv :
Tu l'aura deviné, chaque ligne représente une ligne sur excel, et chaque valeur une cellule.
Pour faire des sauts de lignes tu écris ceci dans ton fichier .csv à partir de ton programme en C# : \n
Si tu as besoin d'aide sur la façon de manipuler des fichiers séquentiels n'hésite pas, sinon voici la piste : StreamWriter.
Bonne chance.
Et tu sépare les valeurs par des point-virgule ( ; ).
Exemple de contenu d'un fichier csv :
"4";"2";"y";;"2";"10"; "5";"2";"y";;"2";"10"; "6";"2";"n";"IRIDIA";"3";"80"; "7";"4";"y";;"1";"1"; "2";"6";"y";;"1";"100"; "3";"28";"y";;"1";"100"; "11";"57";"y";;"1";"100"; "8";"110";"y";;"1";"50"; "9";"110";"y";;"3";"50"; "1";"121";"y";;"1";"100";
Tu l'aura deviné, chaque ligne représente une ligne sur excel, et chaque valeur une cellule.
Pour faire des sauts de lignes tu écris ceci dans ton fichier .csv à partir de ton programme en C# : \n
Si tu as besoin d'aide sur la façon de manipuler des fichiers séquentiels n'hésite pas, sinon voici la piste : StreamWriter.
Bonne chance.
En fait tu as tout intérêt à créer ton fichier Excel en XML.
Voici à quoi ressemble le contenu du fichier qui portera l'extension .xml et qui s'ouvrira avec Excel, le mieux, c'est de l'écrire donc avec ton programme dans le fichier .xml que tu crée, et de changer les parties que tu dois changer.
Ici moi j'ai utilisé 9 cellule de cette façon :
Tu peux grâce à celà mettre de style dans ta feuille (ici les titres des colonnes en gras), ou alors faire plusieurs "Workbook" comme tu dit :)
Du côté d'une library qui te permette de manipuler un fichier Excel directement je n'ai rien trouvé.
Voici à quoi ressemble le contenu du fichier qui portera l'extension .xml et qui s'ouvrira avec Excel, le mieux, c'est de l'écrire donc avec ton programme dans le fichier .xml que tu crée, et de changer les parties que tu dois changer.
Ici moi j'ai utilisé 9 cellule de cette façon :
Colonne 1 | Colonne 2 | Colonne 3 Nom 1 | Prenom 1 | Age 1 Nom 2 | Prenom 2 | Age 2
Tu peux grâce à celà mettre de style dans ta feuille (ici les titres des colonnes en gras), ou alors faire plusieurs "Workbook" comme tu dit :)
Du côté d'une library qui te permette de manipuler un fichier Excel directement je n'ai rien trouvé.
<?xml version="1.0"?> <?mso-application progid="Excel.Sheet"?> <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40/"> <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"> <Author>Scriptiz</Author> <LastAuthor>Scriptiz</LastAuthor> <Created>2009-01-05T17:14:29Z</Created> <Version>12.00</Version> </DocumentProperties> <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel"> <WindowHeight>8520</WindowHeight> <WindowWidth>18720</WindowWidth> <WindowTopX>240</WindowTopX> <WindowTopY>105</WindowTopY> <ProtectStructure>False</ProtectStructure> <ProtectWindows>False</ProtectWindows> </ExcelWorkbook> <Styles> <Style ss:ID="Default" ss:Name="Normal"> <Alignment ss:Vertical="Bottom"/> <Borders/> <Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/> <Interior/> <NumberFormat/> <Protection/> </Style> <Style ss:ID="s62"> <Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000" ss:Bold="1"/> </Style> </Styles> <Worksheet ss:Name="Feuil1"> <Table ss:ExpandedColumnCount="3" ss:ExpandedRowCount="3" x:FullColumns="1" x:FullRows="1" ss:DefaultColumnWidth="60" ss:DefaultRowHeight="15"> <Row> <Cell ss:StyleID="s62"><Data ss:Type="String">Colonne 1</Data></Cell> <Cell ss:StyleID="s62"><Data ss:Type="String">Colonne 2</Data></Cell> <Cell ss:StyleID="s62"><Data ss:Type="String">Colonne 3</Data></Cell> </Row> <Row> <Cell><Data ss:Type="String">Nom 1</Data></Cell> <Cell><Data ss:Type="String">Prenom 1</Data></Cell> <Cell><Data ss:Type="String">Age 1</Data></Cell> </Row> <Row> <Cell><Data ss:Type="String">Nom 2</Data></Cell> <Cell><Data ss:Type="String">Prenom 2</Data></Cell> <Cell><Data ss:Type="String">Age 2</Data></Cell> </Row> </Table> <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"> <PageSetup> <Header x:Margin="0.3"/> <Footer x:Margin="0.3"/> <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/> </PageSetup> <Print> <ValidPrinterInfo/> <PaperSizeIndex>0</PaperSizeIndex> <HorizontalResolution>600</HorizontalResolution> <VerticalResolution>600</VerticalResolution> </Print> <Selected/> <Panes> <Pane> <Number>3</Number> <ActiveRow>2</ActiveRow> <ActiveCol>2</ActiveCol> </Pane> </Panes> <ProtectObjects>False</ProtectObjects> <ProtectScenarios>False</ProtectScenarios> </WorksheetOptions> </Worksheet> <Worksheet ss:Name="Feuil2"> <Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1" x:FullColumns="1" x:FullRows="1" ss:DefaultColumnWidth="60" ss:DefaultRowHeight="15"> </Table> <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"> <PageSetup> <Header x:Margin="0.3"/> <Footer x:Margin="0.3"/> <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/> </PageSetup> <ProtectObjects>False</ProtectObjects> <ProtectScenarios>False</ProtectScenarios> </WorksheetOptions> </Worksheet> <Worksheet ss:Name="Feuil3"> <Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1" x:FullColumns="1" x:FullRows="1" ss:DefaultColumnWidth="60" ss:DefaultRowHeight="15"> </Table> <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"> <PageSetup> <Header x:Margin="0.3"/> <Footer x:Margin="0.3"/> <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/> </PageSetup> <ProtectObjects>False</ProtectObjects> <ProtectScenarios>False</ProtectScenarios> </WorksheetOptions> </Worksheet> </Workbook>
Voici tant que j'y suis un petit exemple de manipulation assez complet d'un classeur (ajout de feuille, ...) :
http://users.skynet.be/cadenza/excel_sample.txt
http://users.skynet.be/cadenza/excel_sample.txt
tout d'abord merci d'avoir repondu rapidement:)
deuxiemement je me demandait si c'est possible d'avoir des workbook
deuxiemement je me demandait si c'est possible d'avoir des workbook
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
hmm je crois que en francais c'est un classeur, en gros c'est un contenant de excel avec plusieurs feuille de travail (Worksheet)
et est-ce que c possible aussi de mettre des cellule en Gras?
et est-ce que c possible aussi de mettre des cellule en Gras?
Malheureusement avec la méthode que je t'ai énoncé tu ne peux créer de classeurs comportant plusieurs feuilles ni stylé tes cellules.
Maintenant il existe peut-être une lib qui te permette d'écrire un fichier Excel :)
Maintenant il existe peut-être une lib qui te permette d'écrire un fichier Excel :)
la question est la connait-tu et sais-tu comment elle marche?
si oui merci de me le dire:P
sinon Merci beaucoup pour ton aide
Bonne journee/soiree
si oui merci de me le dire:P
sinon Merci beaucoup pour ton aide
Bonne journee/soiree
Waouh j'ai trouvé un truc super sympa qui va t'aider :
https://www.winnovative-software.com/excel-library.aspx
Il s'agit d'une libraire qui te permet de manipuler des fichiers Excel 97/2003 ou 2007 à ta guise apparament, je n'y a pas porté plus d'attention mais la démo est convaincante et ça semble être assez complet.
Je te conseille donc cette solution, n'oublie pas d'ajouter la référence à ton projet afin de pouvoir en utiliser les méthodes/classes existantes dans la library.
https://www.winnovative-software.com/excel-library.aspx
Il s'agit d'une libraire qui te permet de manipuler des fichiers Excel 97/2003 ou 2007 à ta guise apparament, je n'y a pas porté plus d'attention mais la démo est convaincante et ça semble être assez complet.
Je te conseille donc cette solution, n'oublie pas d'ajouter la référence à ton projet afin de pouvoir en utiliser les méthodes/classes existantes dans la library.