ユーザーが一般的な 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 要求の実行中に未処理の例外が生成されました。>例外の発生元と場所に関する情報は、以下の例外スタック トレースを使用して識別できます。
どんな助けでも大歓迎です!ありがとう!