Problème de conversion csv vers xls

Messages postés
1
Date d'inscription
vendredi 22 mars 2019
Statut
Membre
Dernière intervention
22 mars 2019
- - Dernière réponse : vb95
Messages postés
1946
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 octobre 2019
- 23 mars 2019 à 20:47
Bonjours je bloque sur une partie de mon programme, je veut faire une conversion d'un fichier csv vers xlsx sur ce point j'ai un résultat qui me satisfait mais je bloque sur la "mise en page" car je n'arrive pas a avoir la date et l'heure écrit de façons correcte (voir screen) j'utilise CsvHelper et EPPlus


Voici mon fichier csv :


Voici mon fichier xlsx :


Voici se que je voudrait avoir (a l'exeption de numero de carte que je voudrait en entier car il fait 30 chiffre:



Voici mon code :
            string csvFilePath = @".\Config\"+Param4.Text+".csv";
string excelFilePath = @".\Config\"+Param4.Text+".xlsx";

string worksheetsName = alea2+Param4.Text;
bool firstRowIsHeader = false;
var excelTextFormat = new ExcelTextFormat();
excelTextFormat.Delimiter = ',';
excelTextFormat.EOL = "\r";



var excelFileInfo = new FileInfo(excelFilePath);
var csvFileInfo = new FileInfo(csvFilePath);

using (ExcelPackage package = new ExcelPackage(excelFileInfo))
{
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add(worksheetsName);
worksheet.Cells["A1"].LoadFromText(csvFileInfo, excelTextFormat, OfficeOpenXml.Table.TableStyles.Medium25, firstRowIsHeader);
package.Save();


}

MessageBox.Show("Convertion Effectuer");
Afficher la suite 

1 réponse

Messages postés
1946
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 octobre 2019
68
0
Merci
bonjour !
Les 3 paramètres doivent être transmis en tant que chaine de caractères
Le E+29 prouve que la valeur est passée en numérique et s'inscrit en notation scientifique
Attention à tes formats Date : sur le fichier .csv c'est le mois de mars ( JJ/MM/AAAA ) alors que sur ta troisième image on a 2 mois différents ( 03 : mars et 08 : août )

Bonjour merci de ta réponse, j'avais pas fait gaffe à mes date, y aurait il un moyen d'enlever le E+29 car j'aurai besoin des 30 chiffre
vb95
Messages postés
1946
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 octobre 2019
68 -
Bonsoir !
Traite les données du fichier .csv non pas comme des valeurs numériques mais comme des chaines de caractères !
N'utilises pas la conversion automatique mais transfère chaque donnée d'une ligne du fichier .csv vers ton fichier Excel
Commenter la réponse de vb95