使用ADO创建Excel电子表格时,无法使用哪些列名称。
我有一个声明,可以在电子表格中创建一个页面:
CREATE TABLE [TableName] (Column string, Column2 string);
我发现使用列名Date
或Container
会在执行语句时产生错误。
是否有人拥有不能用作列名的完整(或部分)单词列表?这适用于用户驱动的环境,最好“修复”列而不是崩溃。
我的解决方法是分别用Date
和Container
取代Date_
或Container_
的任何出现。
答案 0 :(得分:0)
以下是MS Query的保留字:
http://support.microsoft.com/kb/125948
小区命名规则:
http://ezinearticles.com/?Rules-For-Naming-Cells-in-Microsoft-Excel&id=218607
答案 1 :(得分:0)
这似乎更像是SQL保留字的问题。这是good list
答案 2 :(得分: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();
}