Problème de conversion csv vers xls

XaxaPrime Messages postés 1 Date d'inscription vendredi 22 mars 2019 Statut Membre Dernière intervention 22 mars 2019 - 22 mars 2019 à 10:57
vb95 Messages postés 3407 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 30 mars 2023 - 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");

1 réponse

vb95 Messages postés 3407 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 30 mars 2023 165
23 mars 2019 à 18:41
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 )

0
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
0
vb95 Messages postés 3407 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 30 mars 2023 165
23 mars 2019 à 20:47
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
0
Rejoignez-nous