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