+ -
当前位置:首页 → 问答吧 → ADO.NET 更新Excel 单元格数据

ADO.NET 更新Excel 单元格数据

时间:2011-12-15

来源:互联网

C# code

// 01 excel文档的绝对物理路径
            string xlsPath = @"E:\Test11.xlsx";
            string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Extended Properties=\"Excel  8.0;HDR=NO;IMEX=2\";" + "data source=" + xlsPath;
            // 02 命令
            OleDbConnection conn = new OleDbConnection(connStr);

            string sql = "select * from [Test$]";
            // 调用AADO.NET获取excel的sheet1中的数据
            DataTable dt = new DataTable();
            OleDbDataAdapter da = new OleDbDataAdapter();
            da.SelectCommand = new OleDbCommand(sql, conn);

            da.Fill(dt);

            OleDbCommandBuilder cb = new OleDbCommandBuilder(da);

            DataRow[] rows = dt.Select("F1='Suegy'");
            if (rows.Length > 0)
            {
                rows[0][1] = "23";
            }

            int i = da.Update(dt);
            dt.AcceptChanges();
            Console.WriteLine(i);
            Console.ReadLine();



在int i=da.Update(dt);这一行报错,错误为:Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information.

请问这是什么原因?Office版本是2010,顺便请教一下,为什么一定要打开Excel文件才能执行?

作者: jinhui_hong   发布时间: 2011-12-15

兵哥帮你还没解掉?

作者: zhujunhaolove   发布时间: 2011-12-15

引用 1 楼 zhujunhaolove 的回复:
兵哥帮你还没解掉?


他已经不理我了。。

作者: jinhui_hong   发布时间: 2011-12-15

期待有大牛帮你解决吧!

作者: zhujunhaolove   发布时间: 2011-12-15

我在等。。。你会不?

作者: jinhui_hong   发布时间: 2011-12-15

我会早就回答你了。。。

作者: zhujunhaolove   发布时间: 2011-12-15

Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information.
不支持SelectCommand

你的这个又不是数据库,能支持SQL 语言吗?
我没操作过EXCEL ,建议你还是换种方式

作者: bios8086   发布时间: 2011-12-15

热门下载

更多