Excel栏名称
时间:2020-03-05 19:00:01 来源:igfitidea点击:
使用ADO创建Excel电子表格时,不能使用哪些列名。
我有一条在电子表格中创建页面的语句:
CREATE TABLE [TableName] (Column string, Column2 string);
我发现在执行语句时,使用列名" Date"或者" Container"会产生错误。
是否有人拥有不能用作列名的完整(或者部分)单词列表?这是在用户驱动的环境中使用的,"修复"列比崩溃更好。
对于这些问题,我的解决方法是分别用" Date_"和" Container_"替换所有" Date"或者" Container"的出现。
解决方案
回答
这是MS Query的保留字:
http://support.microsoft.com/kb/125948
单元格命名规则:
http://ezinearticles.com/?Rules-For-Naming-Cells-in-Microsoft-Excel&id=218607
回答
这似乎更像是SQL保留字的问题。这是一个很好的清单
回答
我们可以在任何字段名中使用方括号,例如:
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(); }