Guten Morgen,
ich habe ein kleines Problem. Ich habe ein Datagridview, welches ich mit einer XLSX-Datei befülle. Soweit so gut.
Nun habe ich Zahlen in diesem Format:
00340439995753999999
Im Datagridview angezeigt bekomme ich dann:
3,40439995754E+17
Das gleiche Problem habe ich in Excel auch, dort kann ich aber die Formatierung der Zelle auf "Text" stellen, dann klappt es.
Wie formatiere ich die Zelle im Datagridview korrekt, sodass mir diese lange Zahl angezeigt werden kann?
Probiert hatte ich schon folgendes:
Das macht es aber nicht viel besser:
340.439.995.754.000.000
Falls es hilft, so lese ich die Datei:
Hat noch jemand eine Idee? Wichtig ist vor allem, dass die beiden Nullen am Anfang bestehen bleiben, da es hier um Sendungsnummern geht.
Danke für jeden Tipp.
Grüße,
xored
Edit: Ich habe nun mal geschaut und gesehen, dass der Datentyp der Spalte Double ist. Wenn man diesen auf String ändern könnte, würde es vielleicht klappen.
Edit2:
Kann geschlossen werden. Habe es nun geschafft den Typ in String zu ändern:
ich habe ein kleines Problem. Ich habe ein Datagridview, welches ich mit einer XLSX-Datei befülle. Soweit so gut.
Nun habe ich Zahlen in diesem Format:
00340439995753999999
Im Datagridview angezeigt bekomme ich dann:
3,40439995754E+17
Das gleiche Problem habe ich in Excel auch, dort kann ich aber die Formatierung der Zelle auf "Text" stellen, dann klappt es.
Wie formatiere ich die Zelle im Datagridview korrekt, sodass mir diese lange Zahl angezeigt werden kann?
Probiert hatte ich schon folgendes:
Das macht es aber nicht viel besser:
340.439.995.754.000.000
Falls es hilft, so lese ich die Datei:
VB.NET-Quellcode
Hat noch jemand eine Idee? Wichtig ist vor allem, dass die beiden Nullen am Anfang bestehen bleiben, da es hier um Sendungsnummern geht.
Danke für jeden Tipp.
Grüße,
xored
Edit: Ich habe nun mal geschaut und gesehen, dass der Datentyp der Spalte Double ist. Wenn man diesen auf String ändern könnte, würde es vielleicht klappen.
Edit2:
Kann geschlossen werden. Habe es nun geschafft den Typ in String zu ändern:
VB.NET-Quellcode
- conn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" & "data source='" & OpenFileDialog1.FileName & "';Extended Properties=Excel 8.0;")
- da = New OleDbDataAdapter("select * from [Worksheet$]", conn)
- conn.Open()
- ds.Clear()
- da.Fill(ds)
- Dim Klon As DataTable = ds.Tables(0).Clone()
- Klon.Columns(0).DataType = GetType(String)
- For Each row As DataRow In ds.Tables(0).Rows
- Klon.ImportRow(row)
- Next
- DataGridOutput.DataSource = Klon
- conn.Close()
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „xored“ ()