2008-09-17 40 views
0

使用ADO创建Excel电子表格时,无法使用哪些列名。Excel列名

我有一个电子表格中创建了一个页面声明:

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

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

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

我的解决方法是将DateContainer分别替换为Date_Container_

回答

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(); 
} 
+0

这是问题的最佳答案 – 2008-09-17 22:02:24

0

这似乎更像是SQL保留字的问题。这是一个good list