1

在我的要求中,我成功地从 Asp.net OLEDB 打开和读取 Excel(2003 和 07)数据。

但它只有当 Excel 表在我们的 PC 中保持打开时才有效,否则它会给出“外部表格格式错误”。到底是什么问题?。谁能告诉我。这是访问权限有什么问题吗?

确定它与连接字符串无关。我的代码

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();
            } 
        }

提前致谢

4

1 回答 1

0

问题在于访问问题。这意味着工作表受密码保护。

于 2012-05-29T11:15:51.740 回答