J'utilise un simple contrôle FileUpload pour sélectionner un fichier Excel, récupérer les données et les stocker dans db. Lorsque j'essaie de télécharger après avoir sélectionné le fichier, je reçois cette erreur. Mais le chemin du fichier est correct.Erreur de chemin de fichier non valide dans asp.net
"FilePath" n'est pas un chemin d'accès valide. Assurez vous que le nom de chemin d'accès est correctement et que vous êtes connecté au serveur sur lequel le fichier réside
Code utilisé est:
<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;
Vous devez à l'aide String.Format au lieu de remplacer sur votre chaîne de connexion. – James
De même, vous n'avez pas besoin du .ToString() à la fin de votre propriété AppSettings ["OleDbConnection"], elle renvoie toujours la valeur sous forme de chaîne – James
À quoi ressemble la valeur de OleDbConnection? – mattruma