日期:2014-05-17  浏览次数:20564 次

请问如何从Excel的第三行开始插入数据
我的Excel模板是这样的
第一行是合并单元格,用来显示标题
第二行每个单元格显示字段,如下所示


我用常规方法测试不成功
string filePath = Server.MapPath("~/" + "demo1.xls");
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=No;IMEX=0'");
using (conn)
     {
       conn.Open();
       OleDbCommand cmd = new OleDbCommand("INSERT INTO [Sheet1$](F1)VALUES(@b)", conn);
       cmd.Parameters.AddWithValue("@b", "100");
       conn.Close();
       conn.Open();
       cmd.ExecuteNonQuery();
       conn.Close();
     }
提示:“INSERT INTO 语句包含下列未知的字段名: 'F1'。确定键入的名称是正确的, 然后重试。”
如果把第一行合并单元格去掉是可以插入数据的,但我想保留这个模板格式。

请问怎样在第三行才开始插入数据?
INSERT INTO [Sheet1$](F1)VALUES(@b) WHERE 行号>=3
行号>=3”怎么表达?
十分感谢!

------解决方案--------------------
指定行插入数据

myWorkBooks = myExcel.Workbooks;
            myWorkBook = myWorkBooks.Add(System.Reflection.Missing.Value);
            myWorkSheet = (Excel.Worksheet)myWorkBook.Worksheets[1];
            myColumns = (char)(this.dgvUserInfo.Columns.Count + 64);//设置列
            myRange = myWorkSheet.get_Range("A4", myColumns.ToString() + "5");//设置列宽
            int count = 1;//第一列为空
            //设置列名
            foreach (DataColumn myNewColumn in tempTable.Columns)