Pergunta
O que os nomes das colunas não pode ser usado ao criar uma planilha do Excel com o ADO.
Eu tenho uma declaração que cria uma página em uma planilha:
CREATE TABLE [TableName] (Column string, Column2 string);
Eu descobri que usando um nome de Date
ou Container
coluna irá gerar um erro quando a instrução é executada.
Alguém tem uma lista completa (ou parcial) de palavras que não podem ser usados ??como nomes de coluna? Isto é para uso em um ambiente orientado para o utilizador e que seria melhor para "consertar" as colunas do que a colisão.
O meu trabalho-around para estes é para substituir quaisquer ocorrências de Date
ou Container
com Date_
e Container_
respectivamente.
Solução
Você pode usar parênteses para qualquer fieldname, por exemplo:.
CREATE TABLE [TableName] ([Date] string, [Container] string)
exemplo completa:
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();
}
Outras dicas
Aqui estão as palavras reservadas para MS Query:
http://support.microsoft.com/kb/125948
regras de nomeação celular:
http://ezinearticles.com/?Rules -Para de nomeação-Cells-em-Microsoft-Excel & id = 218607
Parece mais como um problema com o SQL palavras reservadas. Esta é uma lista boa