0

使用 ADO 创建 Excel 电子表格时不能使用哪些列名。

我有一个在电子表格中创建页面的语句:

CREATE TABLE [TableName] (Column string, Column2 string);

我发现在执行语句时使用Dateor的列名Container会产生错误。

是否有人拥有不能用作列名的完整(或部分)单词列表?这适用于用户驱动的环境,最好“修复”列而不是崩溃。

我的解决方法是分别用and替换任何出现的Dateor 。ContainerDate_Container_

4

3 回答 3

0

以下是 MS Query 的保留字:

http://support.microsoft.com/kb/125948

单元命名规则:

http://ezinearticles.com/?Rules-For-Naming-Cells-in-Microsoft-Excel&id=218607

于 2008-09-17T20:55:59.743 回答
0

这似乎更像是 SQL 保留字的问题。这是一个很好的清单

于 2008-09-17T20:57:21.503 回答
0

您可以对任何字段名使用方括号,例如:

CREATE TABLE [TableName] ([Date] string, [Container] string)

完整示例:

using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\temp\\test.xls;Extended Properties='Excel 8.0;HDR=Yes'"))
{
  conn.Open();
  OleDbCommand cmd = new OleDbCommand("CREATE TABLE [TableName] ([Date] string, [Container] string)", conn);
  cmd.ExecuteNonQuery();
}
于 2008-09-17T21:00:02.993 回答