0

我有一个非常简单的 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 请求期间生成了未处理的异常。>有关异常起源和位置的信息可以使用 >下面的异常堆栈跟踪来识别。

很感谢任何形式的帮助!谢谢!

4

1 回答 1

0

你可以尝试的几件事

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

于 2012-04-17T09:11:25.593 回答