Я использую простой элемент управления FileUpload, чтобы выбрать файл excel, получить данные и сохранить их в db. Когда я пытаюсь загрузить после выбора файла, я получаю эту ошибку. Но путь к файлу правильный.Ошибка в пути к файлу в asp.net
"FilePath" не является допустимым путем. Сделайте уверен, что путь к файлу пишется правильно и что вы подключены к серверу, на котором файл проживает
используемый код:
<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;
Вы должны с помощью String.Format вместо Заменить на строке подключения. – James
Также вам не нужен .ToString() в конце вашего свойства AppSettings ["OleDbConnection"], он всегда возвращает значение в виде строки – James
. Каково значение OleDbConnection? – mattruma