Ich verwende EPPlus, um Daten zu lesen. Diese Daten bestehen entweder aus .xlsx
oder .csv
.CSV mit EPPlus Parsing-Problemen
Wenn die Datei eine .csv
Datei ist, verwende ich die LoadFromText
Funktionalität. Aber EPPlus entscheidet, dass es auch alle Werte parsen muss, die es nicht sollte.
Zum Beispiel:
Id;Double;
1;-3,88;
ExcelTextFormat format = new ExcelTextFormat();
format.Delimiter = ';';
worksheet.Cells[1, 1].LoadFromText("file", format);
Ergebnis ist, dass der -3,88
Wert wird: -388
in dem Arbeitsblatt. Das habe ich herausgefunden, weil EPPlus das -3,88 als Zahl sieht und es als eine Zahl analysiert, wobei die Standardkultur InvariantCulture
ist, was in diesem Fall (ähnlich) us-US
ist.
Wie kann ich erreichen, dass EPPlus die CSV ohne Parsing lädt? (Nimmt alle Werte als Zeichenfolgen)
Sie müssen nur die Kultur etwas "lokaler" setzen. Sehen Sie dieses für mehr Info: http://stackoverflow.com/questions/36927002/epplus-converting-csv-and-missing-the-comma-from-a-double/36938148#36938148 – Ernie
Dann werde ich das Format bekommen, das ich brauche diese Kultur ja, aber ich brauche die Zeichenfolge, da sie für mehrere Kulturen in der Codebasis verwendet wird. –
Versuchen Sie, das Spaltenformat vor dem Import auf Text zu setzen: 'worksheet.Cells [" A: A "]. Style.Numberformat.Format =" @ ";' – Magnetron