Bonjour,
Je cherche une solution pour convertir automatiquement un fichier .csv en .xlsx, j'ai vraiment cherché j'ai trouvé plein de code tous différents les un des autres j'ai essayé EEPlus,GemBox(c'est d'la marde),NPOI.
Mais je n'arrive pas à utiliser les fonctions...
Je voulais savoir si certains avaient des méthodes simples pour un débutant afin de convertir un csv en xlsx... voili voilou.
J'avais dans l'idée de parser mon csv.
ensuite créer un xlsx et le remplir comme il faut mais je sais pas comment créer un xlsx comme ça à partir de rien... j'ai pas trouver comment faire avec NPOI ou d'autres d'ailleurs....
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 openFileDialog1.ShowDialog(); string path = openFileDialog1.FileName; string name = System.IO.Path.GetFileNameWithoutExtension(path); FileStream flux = new FileStream(path, FileMode.Open, FileAccess.Read); StreamReader csv = new StreamReader(flux); while(!csv.EndOfStream) { List<string> Lignecsv = new List<string>(); string ligne = csv.ReadLine(); Lignecsv.Add(ligne); }
EDIT:
Avec EEPlus j'ai réussi en utilisant ce code là. Seul hic je n'arrive pas à changer le répertoire de sauvegarde du nouveaux fichier.
Code C# : 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 string csvFileName =path; string excelFileName = name +".xlsx"; string worksheetsName = name; bool firstRowIsHeader = true; var format = new ExcelTextFormat(); format.Delimiter = ';'; format.EOL = "\r"; // DEFAULT IS "\r\n"; // format.TextQualifier = '"'; ExcelPackage dd = new ExcelPackage() using (ExcelPackage package = new ExcelPackage(new FileInfo(excelFileName))) { ExcelWorksheet worksheet = package.Workbook.Worksheets.Add(worksheetsName); worksheet.Cells["A1"].LoadFromText(new FileInfo(csvFileName), format, OfficeOpenXml.Table.TableStyles.Medium27, firstRowIsHeader); package.Save(); } Console.WriteLine("Finished!"); Console.ReadLine(); }
Bonne journée
Partager