首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

请教怎么从Excel的第三行开始插入数据

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

请问如何从Excel的第三行开始插入数据
我的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)


            {
                myData[0, count] = myNewColumn.ColumnName;
                count = count + 1;
            }
            //输出datagridview中的数据记录并放在一个二维数组中
            j = 1;
            foreach (DataRow myRow in tempTable.Rows)//循环行
            {
                for (i = 1; i <= tempTable.Columns.Count; i++)//循环列
                {
                    myData[j, i] = myRow[i - 1].ToString();
                }
                j++;
            }
            //将二维数组中的数据写到Excel中
            myRange = myRange.get_Resize(tempTable.Rows.Count + 1, tempTable.Columns.Count);//创建列和行
            myRange.Value2 = myData;
            myRange.EntireColumn.AutoFit();
            myWorkSheet.Cells[2, 2] = "符合您选择条件的数据信息";\\这里写成这样就行了myWorkSheet.Cells[你要指定的行, 你要指定的列]
            Excel.Range myRange22 = myWorkSheet.get_Range("B2", "B2");
            myRange22.Font.Bold = true;
            myRange22.Font.Size = "20";
            myWorkSheet.Cells[3, 1] = "导出日期:" + DateTime.Now.ToString();


[解决办法]
试试 INSERT INTO ([班别],[姓名],……) values('值','值',)

热点排行