J'utilise ASP.NET pour lire les données dans le fichier Excel. J'utilise un contrôle de téléchargement de fichier pour lire le fichier. Je suis capable de lire les données du fichier sur mon ordinateur local, mais après avoir déployé mon code sur le serveur, lorsque j'essaie de lire le fichier à partir de l'ordinateur client, une exception est générée.FileUpload1.PostedFile.FileName lance l'exception
FileUpload1.PostedFile.FileName
lève l'exception dans le serveur.
Le message d'exception est:
'D:\path in client machine\MyExcel.xls' could not be found. Check the spelling of the file name, and verify that the file location is correct. If you are trying to open the file from your list of most recently used files on the File menu, make sure that the file has not been renamed, moved, or deleted.
S'il vous plaît aider.
code:
<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"].ToString().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
Salut Je posterai le code exemple que j'ai
Ajouter un contrôle de téléchargement FIE et button.On le bouton cliquez sur exécuter le code ci-dessous après avoir sélectionné le fichier la machine client.
chaîne OleDbConnection = "Fournisseur = Microsoft.Jet.OLEDB.4.0; Source de données = \" FilePath \ "; Propriétés étendues = \" Excel 8.0; HDR = Oui; IMEX = 1 \ ""; OleDbConnection = OleDbConnection.Replace ("FilePath", FileUpload1.PostedFile.FileName); Label6.Text = OleDbConnection;
string strSheetName = "ASSET_RECV";
OleDbConnection oledbConnection;
OleDbCommand oledbCommand;
OleDbDataAdapter oledbAdapter;
oledbCommand = new OleDbCommand();
oledbAdapter = new OleDbDataAdapter();
DataSet dsExcellData = new DataSet();
oledbConnection = new OleDbConnection(OleDbConnection);
oledbConnection.Open();
oledbCommand.Connection = oledbConnection;
//oledbCommand.CommandText = "Select * from [{0}$]";
oledbCommand.CommandText = "Select * from [" + strSheetName + "$]"; // i want to find this sheet name
oledbAdapter.SelectCommand = oledbCommand;
oledbAdapter.Fill(dsExcellData);
oledbConnection.Close();
GridView1.DataSource = dsExcellData.Tables[0];
GridView1.DataBind();
1) Publication du projet en IIS.Try pour exécuter l'application d'une autre machine et lire les données à partir du fichier excel (à partir de l'ordinateur client).
vous obtiendrez l'erreur ci-dessous. S'il vous plaît aider.
Le moteur de base de données Microsoft Jet n'a pas trouvé l'objet 'D: \ FileName.xls'. Assurez-vous que l'objet existe et que vous épelez son nom et le nom du chemin correctement.
Salut, Lorsque le fichier est là dans la machine cliente.Où dois-je l'enregistrer.Je veux juste lire les données dans le fichier en l'ouvrant. – Jebli
Merci, vous avez raison.Nous devons enregistrer le fichier avant de le lire. – Jebli