程序如下:
public class Main : System.Web.UI.Page
{
private Excel.Application objExcel =  null;
private Excel.Workbooks objBooks = null;
private Excel._Workbook objBook = null;
private Excel.Sheets objSheets = null;
private Excel._Worksheet objSheet = null;
private Excel.Range objRange =  null;
private Excel.Font objFont = null; private object objOpt = System.Reflection.Missing.Value;
private object strSampleFolder = "c:\\";
protected System.Web.UI.WebControls.Button btnAuto;
protected System.Web.UI.WebControls.Button btnAdo;private void btnAdo_Click(object sender, System.EventArgs e)
{
OleDbConnection objConn = new OleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + strSampleFolder + "new.xls';Extended Properties=Excel 8.0;");
objConn.Open(); OleDbCommand objCmd = new OleDbCommand();
objCmd.Connection = objConn;
objCmd.CommandText = "Insert into MyTable (FirstName, LastName)" +
" values ('李', '四')";
objCmd.ExecuteNonQuery();
objCmd.CommandText = "Insert into MyTable (FirstName, LastName)" +
" values ('zhang', 'san')";
objCmd.ExecuteNonQuery(); objConn.Close();
}错误如下:Microsoft Jet 数据库引擎找不到对象'MyTable'。请确定对象是否存在,并正确地写出它的名称和路径。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: Microsoft Jet 数据库引擎找不到对象'MyTable'。请确定对象是否存在,并正确地写出它的名称和路径。源错误: (就错在第80行)
行 80:  objCmd.CommandText = "Insert into MyTable (FirstName, LastName)" +
行 81:  " values ('李', '四')";
行 82:  objCmd.ExecuteNonQuery();
行 83:  objCmd.CommandText = "Insert into MyTable (FirstName, LastName)" +
行 84:  " values ('zhang', 'san')";
 
Excell的权限已经设定完毕,都是EveryOne的权限。可是一直报同样的错误,Excell文件的路径是c:\new.clx,其中的sheet1名字改为MyTable.
实在找不出路径在哪里出错了, 请高手们不惜赐教。

解决方案 »

  1.   

    记得是要这样写吧?
    objCmd.CommandText   =   "Insert   into   $[MyTable]   (FirstName,   LastName)"   + 
    "   values   ('李',   '四')"; 
      

  2.   

    感谢你的答复,但是按照你的方法又出现了新的语法错误。INSERT INTO 语句的语法错误。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。源错误: 
    行 80:  objCmd.CommandText = "Insert into $[MyTable] (FirstName, LastName)" +
    行 81:  " values ('李', '四')";
    行 82:  objCmd.ExecuteNonQuery();
    行 83:  objCmd.CommandText = "Insert into $[MyTable] (FirstName, LastName)" +
    行 84:  " values ('zhang', 'san')";
     
      

  3.   


            private void btnAdo_Click(object sender, System.EventArgs e)
            {
                objBook = objExcel.Workbooks.Add(true);
                string FileName = strSampleFolder.ToString() + "new.xls";
                objBook.SaveAs(FileName, objOpt, objOpt, objOpt, objOpt, objOpt, Excel.XlSaveAsAccessMode.xlNoChange, objOpt, objOpt, objOpt, objOpt, objOpt);
                OleDbConnection objConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + strSampleFolder + "new.xls';Extended Properties=Excel 8.0;");
                objConn.Open();            objSheet = (Excel._Worksheet)objBook.ActiveSheet;
                objSheet.Cells[1, 1] = "李";
                objSheet.Cells[1, 2] = "四";
                objSheet.Cells[2, 1] = "zhang";
                objSheet.Cells[2, 2] = "san";
                objBook.Save();
                objExcel.Quit();            objConn.Close();
            }
      

  4.   

       谢谢urhp02857给出了另外一种写法,但是我的写法在哪里出错了,你能帮忙给点意见吗?再次感谢!
      

  5.   

    "Insert   into   [MyTable$]   (FirstName,   LastName)"   + 
    "   values   ('李',   '四')"; 
      

  6.   

       谢谢lake_cx ,不好意思节后很长时间没有上网,用了你的方法问题得到解决,分数已加,十分感谢!