Ich habe zwei Excel-Blätter.So aktualisieren Sie Excel-Blatt mit C#
Im ersten Blatt eine Spalte namens Sprache ist, und es ist eine ähnliche Säule in der zweiten Platte. Jetzt möchte ich Sprachdaten vom ersten Blatt zum zweiten Blatt entsprechend ihrer ID.
Unten ist mein Code.
System.Data.OleDb.OleDbConnection MyConnection;
System.Data.OleDb.OleDbCommand myCommand = new System.Data.OleDb.OleDbCommand();
string sql = null;
MyConnection = new System.Data.OleDb.OleDbConnection(@"provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\consolidated.xls;Extended Properties=Excel 8.0;");
MyConnection.Open();
myCommand.Connection = MyConnection;
sql = "Update [second$] set [second$].[Language] =[first$].[Language] where [first$].[ID]= [second$].[ID] ";
myCommand.CommandText = sql;
myCommand.ExecuteNonQuery();
MyConnection.Close();
unten Fehler Anfahrt:
Eine nicht behandelte Ausnahme des Typs 'System.Data.OleDb.OleDbException' in System.Data.dll aufgetreten
Zusätzliche Informationen: kein Wert angegeben für einen oder mehrere erforderliche Parameter.
Ich bin nicht sehr geschickt mit SQL, also könnte meine SQL-Syntax auch falsch sein ... aber ich bin mir nicht sicher.
versuchen HDR = YES; in Ihrer Verbindungszeichenfolge. – Arie
immer noch gleicher Fehler – Resu
Versuchen Sie auch, IMEX = 1; in Ihrer Verbindungszeichenfolge neben HDR = YES; Dieser Fehler tritt häufig auf, wenn OleDb die Spaltenüberschriften nicht ordnungsgemäß aus der ersten Zeile in Ihrem Arbeitsblatt geladen hat. Wenn das nicht funktioniert, versuchen Sie, durch F1, F2, F3 auf die Spalten zu verweisen (das sind die Standardwerte, wenn die richtigen Header nicht geladen wurden), wie hier http://StackOverflow.com/A/24314010/891715 – Arie