Wir haben Daten in einer Excel-Datei (Trail_Test.xls) gespeichert, die im Ordner Resources unseres C# -Projekts gespeichert ist. jetzt müssen wir Daten aus dieser XLS-Datei in DataGridView auf der Windows-Formular-Anwendung, die wir haben, zu laden.Datenquellenordner auf anderem Gerät
Dies ist der Code, den wir
verwendenSystem.Data.OleDb.OleDbConnection MyConnection;
System.Data.DataSet DtSet;
System.Data.OleDb.OleDbDataAdapter MyCommand;
string path = System.AppDomain.CurrentDomain.BaseDirectory + @"Resources\Trail_Test.xls";
MyConnection = new System.Data.OleDb.OleDbConnection(@"provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + path + "';Extended Properties=Excel 8.0;");
MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [20$]", MyConnection);
DtSet = new System.Data.DataSet();
MyCommand.Fill(DtSet);
dataGridView1.Columns.Clear();
dataGridView1.DataSource = DtSet.Tables[0];
Diese auf der 8. Zeile einen Fehler gibt:
Die Microsoft Jet-Datenbank-Engine nicht das Objekt '20 $‘gefunden. Stellen Sie sicher, dass das Objekt existiert und Sie seinen Namen und den Pfadnamen richtig buchstabieren.
Hilfe?
dank
@ Slai Großartig, das ist genau das, was wir wollten, danke – user3332603
verwenden Sie 'System.AppDomain.CurrentDomain.BaseDirectory' stattdessen, weil' GetFullPath' vom aktuellen Verzeichnis abhängt. – Slai
@ Slai die Frage wurde nach dem neuen Code bearbeitet – user3332603