Ich benutze ein einfaches FileUpload-Steuerelement, um eine Excel-Datei auszuwählen, die Daten abzurufen und in db zu speichern. Wenn ich versuche, nach dem Auswählen der Datei hochzuladen, erhalte ich diesen Fehler. Aber der Dateipfad ist korrekt.Ungültiger Dateipfadfehler in asp.net
"FilePath" ist kein gültiger Pfad. Vergewissern Sie sich, dass der Pfadname richtig geschrieben ist und dass Sie mit dem Server verbunden sind, auf dem die Datei
-Code befindet verwendet wird:
<add key="OleDbConnection" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source= FilePath ;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1""/>
string OleDbConnection =
ConfigurationManager.AppSettings["OleDbConnection"].Replace("FilePath",
fileUpload.PostedFile.FileName).Trim();
Excel.ApplicationClass xlApp = new Excel.ApplicationClass();
Excel.Workbooks xlWorkBooks = (Excel.Workbooks)xlApp.Workbooks;
Excel.Workbook wb = xlWorkBooks._Open(fileUpload.PostedFile.FileName, Type.Missing, false, Type.Missing, "", "", true, Excel.XlPlatform.xlWindows, "\t", true, false, Type.Missing, true);
string strSheetName = ((Excel.Worksheet)wb.Sheets[1]).Name.ToString();
xlWorkBooks.Close();
xlApp.Quit();
oledbCommand = new OleDbCommand();
oledbAdapter = new OleDbDataAdapter();
DataSet dsExcellData = new DataSet();
oledbConnection = new OleDbConnection(OleDbConnection);
oledbConnection.Open();
oledbCommand.Connection = oledbConnection;
oledbCommand.CommandText = "Select * from [" + strSheetName + "$]";
oledbAdapter.SelectCommand = oledbCommand;
oledbAdapter.Fill(dsExcellData);
return dsExcellData;
Sie sollten String.Format statt Ersetzen auf Ihre Verbindungszeichenfolge. – James
Sie benötigen auch nicht die .ToString() am Ende Ihrer AppSettings ["OleDbConnection"] -Eigenschaft, es gibt immer Wert als Zeichenfolge – James
Wie sieht der Wert von OleDbConnection aus? – mattruma