Erzwinge, dass EPPLUS als Text gelesen wird

8

Ich entwickle eine Anwendung zum Lesen von xlsx-Dateien, führe eine Validierung durch und füge sie in die Datenbank ein. Leider, wenn ich versuche, als numerisch markierte Spalten (zB mit EAN-13 Codes) zu lesen, bekomme ich den minimalen Wert eines int. Der Benutzer sieht das nicht, weil Excel es richtig anzeigt.

Wie kann ich die Datei als reinen Text lesen? Ich weiß, dass ich OLEBD dafür verwenden kann, aber ich muss auch die Datei dynamisch bearbeiten, deshalb ist epplus ExcelPackage die beste Wahl.

Hier ist der Code im:

%Vor%

und so listet ich Spalten auf

%Vor%

Für Leute, die es interessieren könnten, hier ist die Datei (funktioniert auch für Nicht-Google-Nutzer): Zypern

Ich habe festgestellt, dass die ExcelRange.value-Eigenschaft ein Array ist, das alle unformatierten Objekte enthält. Wenn Sie jedoch in ExcelRange über Zellen iterieren und die Eigenschaft cell.Text anfordern, wurde sie bereits verarbeitet. Der Versuch, ConditionalFormatting und DataValidation in ExcelRange zu ändern, hilft nicht (zB AddContainsText ()) - @EDIT - & gt; Weder für ein ganzes Blatt noch - (

Ich würde es vorziehen, ExcelRange.Value nicht als Array zu verwenden, es ist hässlich und sehr bedingt.

    
Luntri 03.04.2015, 09:46
quelle

2 Antworten

8

Offenbar ist dies die Lösung (nicht kompletter Code, Sie müssen der Datentabelle Spalten hinzufügen). Ich konnte die Formatzeichenfolge nicht finden, die 'keine Formatierung' in Epplus angibt, aber hier haben Sie es.

%Vor%     
Luntri 07.05.2015, 08:15
quelle
2

Die Zellen in Ihrer Datei sind als Bruch formatiert. Hast du das absichtlich gemacht? Wenn Sie dieses Format beibehalten möchten, können Sie alternativ cell.Value oder cell.RichText.Text verwenden, um Ihre 13-stellige Nummer zu erhalten.

Hoffe, das hilft.

    
romar 28.04.2015 14:29
quelle

Tags und Links