如何通过 ODBC 向 Excel sheet 添加额外的行?

How do I add extra rows to an Excel sheet via ODBC?

我使用 ODBC 在 Excel 中创建了一个 sheet 并向其中添加了一行。

从字面上看,命令只是:

create table 'update5' ('age' NUMBER);
insert into 'update5'.'age' values (1);

这有效,我可以通过 DBVisualiser 和我的 ODBC 查询结果看到 sheet 中的行。

后来,我写了更多SQL来添加另一行,如下所示:

insert into 'update5' ('age') values (2);

但我收到错误消息:

[Microsoft][ODBC Excel Driver] Cannot expand named range.

我不知道为什么要使用命名范围,有没有办法可以将 ODBC 设置为不使用它们?

在不了解你在做什么、你在做什么以及你的最终目标的情况下,我无法给出明确的答案 - 但是,如果你说这按原样工作得很好:

create table 'update5' ('age' NUMBER);
insert into 'update5'.'age' values (1);

...那么按理说这个:

insert into update5 values (2);

...将无法工作,因为您缺少:

  • 引号(在您的环境中可能是可选的,也可能不是),并且,
  • 要导出到的字段名称。

在第一个 insert into 语句中,您有:

'update5'     <-- the destination table
.'age'        <-- the destination field
 values (1);  <-- the value to insert

...因此,如果您只是想将编号为 2 的记录添加到同一字段,使用相同的代码:

insert into 'update5'.'age' values (2);

更多信息:

找到了。

当您通过 ODBC 在 Excel 中创建一个 table 时,您会在该 table.

中创建一个同名的命名范围

当您尝试这样插入时:

insert into 'update5'.'age' values (2);

它被解释为您试图添加到 table update5 中名为 update5 的命名范围。

您需要使用语法:

insert into [update5$].'age' values (2);

将值添加到名为 update5 的 table。