Externe Tabelle ist nicht im erwarteten format.
Erstelle ich eine kleine Anwendung für das importieren von excel-Daten in meine Datenbank, wenn ich auf die Schaltfläche klicke stürzt es ab mit der Fehlermeldung
Externe Tabelle ist nicht im erwarteten format.
Ich habe versucht, googeln und ändern der codes hier und da, aber das problem tritt weiterhin auf. Ich habe versucht, die Datei speichern als .xls und wenn ich den code ausführen, die Seite ging offline mit google chrome Diese Webseite ist nicht verfügbar (kann Nicht selbst geben Sie Debuggen)
Hier ist mein code:
string strConnection = ConfigurationManager.ConnectionStrings["---"].ConnectionString;
String excelConnString = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0\"", filePath);
//Create Connection to Excel work book
using (OleDbConnection excelConnection = new OleDbConnection(excelConnString))
{
//Create OleDbCommand to fetch data from Excel
using (OleDbCommand cmd = new OleDbCommand("Select * from [Sheet1$]", excelConnection))
{
excelConnection.Open();
using (OleDbDataReader dReader = cmd.ExecuteReader())
{
using (SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection))
{
//Give your Destination table name
sqlBulk.DestinationTableName = "TableName";
sqlBulk.WriteToServer(dReader);
}
}
}
}
connectionstrings.com/excel
stackoverflow.com/questions/1139390/...
Ich habe schon beide links, die Verbindungszeichenfolgen in die links sind die gleichen wie meine, was nutzt ACE.OLEDB aber es immer noch nicht beheben mein problem
Und ich nehme an, Sie haben die Microsoft Access 2010 Runtime bereits installiert! microsoft.com/en-us/download/details.aspx?id=10910
stackoverflow.com/questions/1139390/...
Ich habe schon beide links, die Verbindungszeichenfolgen in die links sind die gleichen wie meine, was nutzt ACE.OLEDB aber es immer noch nicht beheben mein problem
Und ich nehme an, Sie haben die Microsoft Access 2010 Runtime bereits installiert! microsoft.com/en-us/download/details.aspx?id=10910
InformationsquelleAutor Bloopie Bloops | 2015-03-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, Sie haben alles getan, die Vorbereitungen einschließlich der Installation Microsoft Access 2010 Runtime zu erwerben, die relevanten Treiber, versuchen Sie folgenden hatte ich mit Erfolg in der Vergangenheit.
Wenn Sie Ihre Eingabe-Datei ist eine Art
*.xlsx
versuchen zu ersetzenin Ihrem Verbindungs-string mit
Dieses Problem geschieht in der Regel mit dem problematische oder unpassende format der Excel-Datei, so wie eine Faustregel, die erste Sache, die Sie möchten, um zu versuchen, öffnen Sie Excel, und erstellen Sie eine neue
.xlsx
- Datei mit ein paar Beispieldaten, die Sie tippte sich (anstatt copy/paste). Sie brauchen nicht viel eingeben, testen Sie Ihren code-snippet. Paar Zellen mit den richtigen Informationen, die Sie erwarten, tun. Dieser Ansatz vermeidet Probleme mit der tatsächlichen Excel-Datei und nicht in Ihrem C# - code.Lassen Sie uns wissen, wie Sie ging.
InformationsquelleAutor Mehrad