Я использую ASP.NET для чтения данных в файле Excel. Я использую элемент управления загрузкой файлов, чтобы прочитать файл. Я могу прочитать данные из файла на моем локальном компьютере, но после развертывания кода на сервере, когда я пытаюсь прочитать файл с клиентского компьютера, я получаю исключение.
FileUpload1.PostedFile.FileName
выдает исключение на сервере.
Сообщение об исключении:
'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.
Пожалуйста, помогите.
Код:
<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
Привет, я публикую пример кода, который у меня есть
Добавьте элемент управления загрузкой файлов и кнопку. Нажмите кнопку, чтобы выполнить приведенный ниже код после выбора файла на клиентском компьютере.
string OleDbConnection = "Provider = Microsoft.Jet.OLEDB.4.0; Источник данных = \" FilePath \ "; Расширенные свойства = \" Excel 8.0; HDR = Да; 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) Опубликуйте проект в IIS. Попробуйте запустить приложение с другого компьютера и прочитать данные из файла excel (с клиентского компьютера).
Вы получите ошибку ниже. Помогите.
Механизму базы данных Microsoft Jet не удалось найти объект 'D: \ FileName.xls'. Убедитесь, что объект существует, и что вы правильно написали его имя и путь.