0

ユーザーが一般的な Excel ファイルからデータを読み取ることができる非常に単純な ASP.net 4.0 アプリケーションがあります。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 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこで発生したかについては、スタック トレースを確認してください。

例外の詳細: System.Runtime.InteropServices.COMException: 指定されたドメインが存在しないか、接続できませんでした。

ソース エラー:

現在の Web 要求の実行中に未処理の例外が生成されました。>例外の発生元と場所に関する情報は、以下の例外スタック トレースを使用して識別できます。

どんな助けでも大歓迎です!ありがとう!

4

1 に答える 1

0

あなたが試すかもしれないいくつかのこと

1>匿名アクセスを無効にし、ID の偽装を有効にする 2>Excel ファイルのパスが正しいことを確認する

于 2012-04-17T09:11:25.593 に答える