2016-08-01 8 views
0

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

verwenden
System.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

Antwort

2

Der Pfad zur ausführbaren Datei zu sehen sein Verwandter. Zum Beispiel, wenn die ausführbare Datei ist in

C:\Users\Adham\Documents\Visual Studio 2010\Projects\Curve Fitting\Curve Fitting\ 

dann der Pfad zum .xls-Datei

string path = System.AppDomain.CurrentDomain.BaseDirectory + @"Resources\Trail_Test.xls"; 

string connectionString = @"provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + path + "';Extended Properties=Excel 8.0;" 
+0

@ Slai Großartig, das ist genau das, was wir wollten, danke – user3332603

+1

verwenden Sie 'System.AppDomain.CurrentDomain.BaseDirectory' stattdessen, weil' GetFullPath' vom aktuellen Verzeichnis abhängt. – Slai

+0

@ Slai die Frage wurde nach dem neuen Code bearbeitet – user3332603

2

Ihr MyConnection Objekt enthält

Data Source = "C: \ Benutzer \ Adham \ Dokumente Visual Studio 2010 \ Projects \ \ Curve Fitting \ Curve Fitting \ Resources \ Trail_Test.xls

Das sieht aus wie etwas, das nicht hartcodiert werden sollte und Probleme verursachen wird, wenn es auf einem anderen Computer als Adham ausgeführt wird.

+0

Ich bin damit einverstanden, dann zu erreichen, wie diese Probleme zu beheben verursacht, wenn auf einem anderen Computer ausgeführt wird, aber Adham ist. – user3332603

1

Versuchen Sie folgendes: Stellen Sie sicher, dass die Datei als „zu Ausgabeverzeichnis kopieren = kopieren, wenn neuere“ markiert ist, nur der rechten Maustaste darauf und „Eigenschaften“