IErrorInfo.GetDescription com E_FAIL (0x80004005) ИМПОРТ ФАЙЛОВ EXCEL - PullRequest
0 голосов
/ 03 мая 2019

Всякий раз, когда я импортирую данные из файла Excel, который находится в папке IIS Express, все идет нормально, без ошибок, и файл Excel попадает в таблицу, которую я создаю в SQL, но когда файл Excel находится в другом месте, он дает эту ошибку ... Почему?

Вот мой код:

protected void Upload_Click(object sender, EventArgs e)
{
    string excelPath = Server.MapPath("~/Files/") + Path.GetFileName(FileUpload1.PostedFile.FileName);
    FileUpload1.SaveAs(excelPath);

    string filepath = FileUpload1.PostedFile.FileName;
    string filename = Path.GetFileName(filepath);

    string ext = Path.GetExtension(filename);
    String strConnection = @"Data Source=PEDRO-PC\SQLEXPRESS;Initial Catalog=costumizado;Persist Security Info=True;User ID=sa;Password=1234";
    string excelConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath + ";Extended Properties=\"Excel 12.0 Xml;HRD=YES;IMEX=1;\"";

    OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);

    OleDbCommand cmd = new OleDbCommand("Select [Nome],[Cidade],[Idade] from [Folha1$]", excelConnection);

    excelConnection.Open();
    cmd.ExecuteNonQuery();


    DataSet ds = new DataSet();
    SqlDataAdapter da = new SqlDataAdapter("Select [Nome],[Cidade],[Idade] from [Folha1$]", strConnection);

    OleDbDataReader dReader;
    dReader = cmd.ExecuteReader();
    SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection);

    sqlBulk.DestinationTableName = "Teste";
    sqlBulk.WriteToServer(dReader);
    excelConnection.Close();

}

Ошибка в линии:

 excelConnection.Open();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...