Pos-Nr. | Menge | Dokumentnummer | Konf. | Rev. |
1 | 1 | 110463 | 1 | 2 |
1,1 | 1 | 110462 | 1 | 2 |
1,2 | 1 | 110464 | 2 | 2 |
1.3 | 1 | 110465 | 2 | 2 |
1.4 | 1 | 50545 | 2 | 2 |
1,5 | 1 | 51123 | 1 | 2 |
1,6 | 1 | 50264 | 1 | 1 |
2 | 1 | 110544 | 1 | 2 |
2,1 | 4 | 113555 | 1 | 3 |
2.1.1 | 2 | 112234 | 1 | 1 |
2.1.2 | 8 | 54054 | 2 | 2 |
2.2 | 2 | 110124 | 3 | 1 |
2,3 | 4 | 111157 | 2 | 4 |
Hallo zusammen,
ich bekomme aus einem Dritt-Programm diese Excel-Liste (Anhang)..
Zuerst: ja, die Position sind mal mit , oder . getrennt.
Diese Datei lese ich über einen OLEDBAdpater in ein Dataset. Die Daten lasse ich mir über ein DataGridView anzeigen.
ich habe hier den Code leicht so modifziert, dass ich die Variablen entfernt haben für den Dateinamen und das Tabellensheet.
VB.NET-Quellcode
- Dim ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Temp\bom_Doks.xlsx ;Extended Properties=""Excel 12.0 Xml;HDR=YES"""
- Dim excelconnection As New System.Data.OleDb.OleDbConnection(ConnectionString)
- excelconnection.Open()
- Dim da As New System.Data.OleDb.OleDbDataAdapter("select * from [Tabelle1$]", excelconnection)
- Dim ds As New DataSet
- da.Fill(ds)
- dgvdata.datasource = ds.tables(0).defaultview
- excelconnection.Close()
Das funktioniert auch, scheinbar.
Jetzt kommen die Abers.
1. in der Datei steht als Header "Pos-Nr." Aber im Grid Steht plötzlich "Pos-Nr#"
2. Im DataGridView in der Spalte "Pos-Nr#" fehlen ALLE Werte, die mit einem Punkt getrennt sind
Meine Fragen dementsprechend:
Hat jemand eine Idee, warum die Daten fehlen, und wich das korrigieren könnte?
Hat jemand eine Idee, warum aus dem Punkt im Header ein # wird?
Ich finde das OLEDB recht simpel und effektiv (naja, wenn es denn funktionieren würde), bin aber nicht darauf fixiert und offen für andere Arten für das Lesen der Daten.
Ich befürchte, dass ich vorher ein manuelles Mapping für das Tabellen-Schema der Datei durchführen muss, aber DAS WILL ICH NICHT