私の要件では、Asp.net OLEDBからExcel(2003と07の両方)データを開いて読み取ることに成功しています。
しかし、それは私たちのPCでExcel Sheetを開いたままにした場合にのみ機能します。そうでない場合は、「外部テーブル形式エラー」が発生します。正確には何が問題ですか?これはアクセス権に問題がありますか?
確かにそれは接続文字列とは何の関係もありません。私のコード
protected void Page_Load(object sender, EventArgs e)
{
string path = @"C:\Users\abcd\Desktop\raj.xls";
connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + absoluteDir + ";Extended Properties=\"Excel 8.0;HDR=YES;\"";
OleDbConnection oledbConn = new OleDbConnection(connStr);
try
{
oledbConn.Open();
OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", oledbConn);
OleDbDataAdapter oleda = new OleDbDataAdapter();
oleda.SelectCommand = cmd;
DataSet ds = new DataSet();
oleda.Fill(ds);
GridView1.DataSource = ds.Tables[0].DefaultView;
GridView1.DataBind();
}
catch (Exception err)
{
}
finally
{
// Close connection
oledbConn.Close();
}
}
前もって感謝します