Bonjour,
Mon appli a été écrite avec Visual Studio 2005, c#.
Elle permet sans problème de faire des exportations de ma base de données vers Excell.
Mais quelqu'un a -t-il un exemple d'exportation vers Libre Office.
Merci
Bonjour,
Mon appli a été écrite avec Visual Studio 2005, c#.
Elle permet sans problème de faire des exportations de ma base de données vers Excell.
Mais quelqu'un a -t-il un exemple d'exportation vers Libre Office.
Merci
Bonjour,
Si c'est pour du tableur, EPPLUS permet de générer des fichiers OfficeOpenXML qui sont utilisables dans excel, openoffice et libreoffice ...
Pour du traitement de texte, je ne sais pas je n'ai eu à la faire que pour du word, mais je pense qu'il doit y avoir des équivalents...
J@ck.
Pas de réponse par MP, merci.
Penser au ça fait plaisir
Bonjour,
Oui c'est possible. Quant à la charge de travail que cela représente, cela dépend de comment est réalisée l'exportation actuellement.
Il y a de nombreuses solutions. Aussi, peux-tu nous en dire plus sur le contexte. Notamment, l'application est-elle un client lourd ou une appli Web ? Quelle est la solution d'exportation mise en oeuvre aujourd'hui ?
François DORIN
Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
Site internet | Profils Viadéo & LinkedIn
---------
Page de cours : fdorin.developpez.com
---------
N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels
Bonjour Dorinf,
Mon appli:
Le programme est installé sur tous les postes, et le serveur n'est utilisé que comme serveur de fichier qui répond aux requêtes des utilisateurs.
Dans la plupart des cas, l'exportation vers Excel consiste à exporter des données affichées dans un datagrid.
J'ai trouvé le code sur developpez.com, et même si les temps d'exécution sont très longs, ça a au moins le mérite d'exister.
Et à la fin on sauvegarde le fichier Excel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 // Export to EXCEL Microsoft.Office.Interop.Excel.Application xlApp = null; Microsoft.Office.Interop.Excel.Workbook xlBook = null; Microsoft.Office.Interop.Excel.Worksheet xlSheet; Object missing = Missing.Value; xlApp = new Microsoft.Office.Interop.Excel.Application(); xlBook = xlApp.Workbooks.Add(missing); xlSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlBook.ActiveSheet; for (int iCol = 0; iCol < dtg1.ColumnCount; iCol++) { xlSheet.Cells[1, iCol] = dtg1.Columns[iCol].HeaderText; for (int iRow = 0; iRow < dtg1.RowCount; iRow++) { if (dtg1[iCol, iRow].Value.ToString().Trim() != "") { // On rajoute un peu de code pour gérer les 0 en début de chaines de caractère // ainsi que les alphanumériques commençant par "+", "-", "=" // et on écrit dans la cellule xlSheet.Cells[iRow + 2, iCol] = dtg1[iCol, iRow].Value.ToString().Trim(); } } }
Bref, c'est du grand classique.
Sauf que pour que cela fonctionne, il faut bien sur qu'Excel soit installé sur le PC, ce qui n'est pas le cas des inconditionnels de Libre Office.
Entretemps, j'ai trouvé la solution de rechange, qui consiste à exporter dans un fichier texte .csv.
C'est lisible par Excel, par Libre Office et surtout les temps d'exécution sont sans comparaison !!!
S'il existe un équivalent de mon code pour Libre Office, je suis curieux de le voir.
Sinon je vais opter mon l'exportation au format texte.
Merci
HENRYC
Bonjour,
A la vue de ton dernier post je reviens à la charge avec mon EPPLUS. C'est clairement ce qu'il te faut visiblement.
Tu n'auras plus besoin d'avoir office sur les postes utilisateurs, c'est rapide, et les fichiers peuvent être lus (mise en forme comprise) par libreOffice.
Si un peu de code t'aide à te convaincre, voici un petit bout de code qui créer un fichier .xlsx, ajoute un onglet 'worksheetName' au fichier , et rempli l'onglet avec ce qui est contenue dans la DataTable 'dt', en commençant à la ligne numéro 'firstRowOffset' et applique le style de tableau 'tableStyle'
bon code,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 FileInfo newFile = new FileInfo(fullXlsxFilePath); using (ExcelPackage pck = new ExcelPackage(newFile)) { ExcelWorksheet ws = pck.Workbook.Worksheets.Add(worksheetName); ws.Cells["A"+ firstRowOffset].LoadFromDataTable(dt, true, tableStyle); pck.Save(); }
J@ck.
Pas de réponse par MP, merci.
Penser au ça fait plaisir
OK Jack,
Merci pour ton code, je vais creuser tout cela et je te tiens informé.
HENRYC
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager