Excel 2000

Strings de conexão para Excel 2000

Microsoft ACE OLEDB 12.0

Arquivos Excel 97-2003 Xls com ACE OLEDB 12.0

Você pode usar esta string de conexão para usar o driver OLEDB do Office 2007 (ACE 12.0) para se conectar a workbooks Excel 97-2003 mais antigos.

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Diretorio\Arquivo.xls;Extended Properties="Excel 8.0;HDR=YES";

"HDR=Yes;" indica que a primeira linha contém nomes de colunas, não dados. "HDR=No;" indica o oposto.

Microsoft Jet OLE DB 4.0

Alternativa padrão

Tente esta se a acima não estiver funcionando. Alguns relatos de que o Excel 2003 precisa da seção extra OLEDB; no início da string.

OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Diretorio\Arquivo.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";

"HDR=Yes;" indica que a primeira linha contém nomes de coluna, não dados. "HDR=No;" indica o oposto.

"IMEX=1;" instrui o driver a sempre ler colunas de dados "intercalados" (números, datas, strings etc.) como texto. Observe que essa opção pode afetar negativamente o acesso de gravação à planilha do Excel.

Sintaxe SQL "SELECT [Nome da Coluna Um], [Nome da Coluna Dois] FROM [Planilha Um$]". Ou seja, o nome da planilha do Excel seguido por um "$" e envolto em colchetes "[" "]".

"SELECT * FROM [Planilha1$a5:d]", comece a selecionar os dados a partir da linha 5 e até a coluna D.

Consulte a chave do registro localizada em [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel], chamada REG_DWORD "TypeGuessRows". Essa é a chave para evitar que o Excel use apenas as primeiras 8 linhas para adivinhar o tipo de dados das colunas. Defina esse valor como 0 para examinar todas as linhas. Isso pode afetar o desempenho. Observe também que adicionar a opção IMEX=1 pode fazer com que o recurso IMEX seja ativado após apenas 8 linhas. Use IMEX=0 em vez disso para garantir que a chave TypeGuessRows do registro seja definida como 0 (examinar todas as linhas).

Se a pasta de trabalho do Excel estiver protegida por senha, você não poderá abri-la para acessar dados, mesmo fornecendo a senha correta na sua string de conexão. Se você tentar, receberá a seguinte mensagem de erro: "Não foi possível descriptografar o arquivo".

Uma solução alternativa para o problema "não foi possível descriptografar o arquivo"

Padrão (Excel)

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Diretorio\Arquivo.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";

Como usar JET em ambientes de 64 bits

.NET xlReader for Microsoft Excel

Arquivo Excel com linha de cabeçalho (para versões 97 - 2003)

Data Source =C:\Diretorio\Arquivo.xls;HDR=yes;Format=xls;

Arquivo Excel sem linha de cabeçalho (para versões 97 - 2003)

Data Source =C:\Diretorio\Arquivo.xls;HDR=no;Format=xls;

CData ADO.NET Provider for Excel

Padrão

Excel File=C:\Diretorio\Arquivo.xlsx;

Cache de dados

Excel File=C:\Diretorio\Arquivo.xlsx;Cache Location=C:\Diretorio\Arquivo.db;Auto Cache=true;Offline=false;

Para recuperar dados do cache, adicione "#Cache" ao nome da tabela. Por exemplo, para consultar dados em cache da tabela "Sheet", execute "SELECT * FROM [Sheet#Cache]".

Cache de dados e metadados

Excel File=C:\Diretorio\Arquivo.xlsx;Cache Location=C:\Diretorio\Arquivo.db;Auto Cache=true;Offline=false;Cache Metadata=true;

Células vazias sempre NULL

Excel File=C:\Diretorio\Arquivo.xlsx;Empty Text Mode=EmptyAsNull;

Células vazias sempre string vazia

Excel File=C:\Diretorio\Arquivo.xlsx;Empty Text Mode=NullAsEmpty;

Ler "folhas inclinadas", onde as linhas são cabeçalhos e as colunas são linhas

Excel File=C:\Diretorio\Arquivo.xlsx;Orientation=Horizontal;

Não usar fórmulas, apenas valores

Não trate valores que começam com igual (=) como fórmulas durante inserções e atualizações.

Excel File=C:\Diretorio\Arquivo.xlsx;Allow Formula=false;

Sem cabeçalhos na planilha Excel

Excel File=C:\Diretorio\Arquivo.xlsx;Header=False;

Nomes de colunas pseudo (A,B,C) são usados em vez disso.

Somente dados em cache / Modo offline

Excel File=C:\Diretorio\Arquivo.xlsx;Offline=true;Query Passthrough=true;Cache Location=C:\Diretorio\Arquivo.db;

As declarações SELECT sempre recuperarão dados do cache. As declarações DELETE/UPDATE/INSERT não são permitidas e lançarão uma exceção.

Suprimir erros de cálculo de fórmula

Excel File=C:\Diretorio\Arquivo.xlsx;Ignore Calc Error=true;

Usando um Provedor de Cache Externo

Os drivers RSSBus têm a capacidade de armazenar dados em cache em um banco de dados separado, como SQL Server ou MySQL, em vez de em um arquivo local usando a seguinte sintaxe:

Cache Provider=Provider.Namespace;Cache Connection='Connection String to Cache Database';

Acima é apenas um exemplo para mostrar como funciona. Pode ser usado tanto com "Auto Cache" quanto com "Dados em Cache Apenas / Modo Offline".

Microsoft Excel 2007 ODBC Driver

Padrão (para versões 97 - 2003)

Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=C:\Diretorio\Arquivo.xls;

Microsoft Excel ODBC Driver

Padrão

Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=C:\Diretorio\Arquivo.xls;DefaultDir=c:\mypath;

Sintaxe SQL "SELECT [Nome da Coluna Um], [Nome da Coluna Dois] FROM [Folha Um$]". Ou seja, nome da planilha do excel seguido de um "$" e envolvido em colchetes "[" "]".

Especificar Somente Leitura

[Microsoft][ODBC Excel Driver] A operação deve usar uma consulta atualizável. Use esta string de conexão para evitar o erro.

Driver={Microsoft Excel Driver (*.xls)};Dbq=C:\Diretorio\Arquivo.xls;ReadOnly=0;

ReadOnly = 0 especifica que a conexão pode ser atualizada.