使用OleDb将数据插入空电子表格(不带标题)

时间:2016-01-17 16:09:53

标签: c# linq oledb

是否可以使用linq和OleDb以及NOT Interop将数据插入电子表格。例如:

OleDbConnection connection = new OleDbConnection(connectionString);

OleDbCommand command = new OleDbCommand("INSERT INTO `Sheet2$` (`A`,`B`,`C`,`D`,`E`,`F`) VALUES (1 , 2, 3, 4, 5, 6)", connection);

或者

OleDbCommand command = new OleDbCommand("INSERT INTO `Sheet2$` VALUES (1 , 2, 3, 4, 5, 6)", connection);

如果我尝试运行任何这些命令,我​​会收到以下错误:

未知栏目。 - 第一个

查询值和目标字段的数量不同。 - 第二个

提醒我想只使用OleDb实现这一目标。

更新:

为了更清楚,我需要插入没有现有表的数据,因为我需要在每行中插入可变数量的列。这是我问题的实际根源。创建表格并不能解决我的问题,因为我不知道我需要插入多少列。很抱歉从一开始就不清楚。

1 个答案:

答案 0 :(得分:0)

您是否尝试将数据插入excel模式?

例如,手动插入一行数据: AF1 | AF2 | AF3 | AF4 | ...... | AFN
更多,尽你所能。

在此之后,您可以使用以下命令和参数填充此表: @“插入[sheetName]([AF1],[AF2],[AF3],[AF4] ... [AFn])VALUES(@ AF1,@ AF2,@ AF3,@ AF4 ... @AFn)” ;

之后,您可以删除第一行。