【问题标题】:COM Interop Exception when trying to read Excel file ASP.net尝试读取 Excel 文件 ASP.net 时出现 COM 互操作异常
【发布时间】:2012-04-28 13:21:57
【问题描述】:

我有一个非常简单的 ASP.net 4.0 应用程序,它允许用户从一个普通的 Excel 文件中读取数据。 Excel 文件位于应用程序本身内,即它位于服务器端根目录正下方的文件夹中。

我正在使用以下代码用 Excel 数据填充数据集:

public DataTable GetExcelData(string ExcelFilePath)
    {
        DataTable dt = new DataTable();
        string OledbConnectionString = string.Empty;
        OleDbConnection objConn = null;
        OledbConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + ExcelFilePath + ";Extended Properties=Excel 8.0;";
        objConn = new OleDbConnection(OledbConnectionString);

        if (objConn.State == ConnectionState.Closed)
        {
            objConn.Open();
        }

        string resName = "'";
        string depName = department;
        resName += userLastName + ", " + userFirstName + "'";
        OleDbCommand objCmdSelect = new OleDbCommand("Select * from [" + depName + "$A3:Q10000] where Resource=" + resName, objConn);
        OleDbDataAdapter objAdapter = new OleDbDataAdapter();
        objAdapter.SelectCommand = objCmdSelect;
        DataSet objDataset = new DataSet();
        objAdapter.Fill(objDataset, "ExcelDataTable");
        dt = objDataset.Tables[0];
        addSumRow(dt);
        objConn.Close();
        return objDataset.Tables[0];
    }

在此之后,我将数据集附加到 Gridview 上,仅此而已。

现在,当我在本地主机上运行应用程序时,显示 Excel 数据没有问题,但是,在部署到我们的 Web 服务器后,应用程序失败并出现以下错误:

指定的域不存在或无法联系。

说明:在执行当前 web >request 期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误的更多信息以及它>源自代码的位置。

异常详细信息:System.Runtime.InteropServices.COMException:指定域>不存在或无法联系。

来源错误:

在执行当前 Web 请求期间生成了未处理的异常。 >可以使用>下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

非常感谢任何帮助! 谢谢!

【问题讨论】:

  • 似乎错误不是面向 Excel 文件的。如果您查看附加的代码,错误是从 Default.aspx.cs:239(SearchResult userInfo = search.FindOne()) 生成的,我正在执行 AD 查找以获取用户名等。

标签: asp.net excel exception com interop


【解决方案1】:

你可以尝试一些事情

1>禁用匿名访问并启用身份模拟 2>确保Excel文件路径正确

【讨论】:

    猜你喜欢
    • 2020-10-28
    • 2015-08-03
    • 1970-01-01
    • 2016-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    相关资源
    最近更新 更多