Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A origem do Excel extrai dados de planilhas ou intervalos em pastas de trabalho do Microsoft Excel.
A origem do Excel fornece quatro modos de acesso a dados diferentes para extrair dados:
Uma tabela ou exibição.
Uma tabela ou exibição especificada em uma variável.
Os resultados de uma instrução SQL. A consulta pode ser uma consulta parametrizada.
Os resultados de uma instrução SQL armazenada em uma variável.
Importante
No Excel, uma planilha ou intervalo é o equivalente a uma tabela ou exibição. A lista de tabelas disponíveis nos editores de Origem e Destino do Excel exibe planilhas existentes (identificadas pelo sinal $ acrescentado ao nome da planilha, como Sheet1$) e intervalos nomeados (identificados pela ausência do sinal $, como MyRange). Para obter mais informações, consulte a seção Considerações sobre uso.
A origem do Excel usa um gerenciador de conexões do Excel para se conectar a uma fonte de dados e o gerenciador de conexões especifica o arquivo da planilha de trabalho a ser usado. Para obter mais informações, consulte Excel Connection Manager.
A origem do Excel tem uma saída comum e uma saída de erro.
Considerações de uso
O Gerenciador de Conexões do Excel usa o Provedor Microsoft OLE DB para Jet 4.0 e seu driver ISAM (Método de Acesso Sequencial Indexado) do Excel para conectar e ler e gravar dados nas fontes de dados do Excel.
Muitos artigos existentes da Base de Dados de Conhecimento da Microsoft documentam o comportamento desse provedor e driver e, embora esses artigos não sejam específicos para o Integration Services ou seus Serviços de Transformação de Dados predecessores, talvez você queira saber sobre determinados comportamentos que podem levar a resultados inesperados. Para obter informações gerais sobre o uso e o comportamento do driver do Excel, consulte HOWTO: Usar o ADO com dados do Excel do Visual Basic ou do VBA.
Os comportamentos a seguir do provedor Jet com o driver do Excel podem levar a resultados inesperados ao ler dados de uma fonte de dados do Excel.
Fontes de dados. A fonte de dados em uma pasta de trabalho do Excel pode ser uma planilha, à qual o sinal $deve ser acrescentado (por exemplo, Sheet1$) ou um intervalo nomeado (por exemplo, MyRange). Em uma instrução SQL, o nome de uma planilha deve ser delimitado (por exemplo, [Sheet1$]) para evitar um erro de sintaxe causado pelo sinal $. O Construtor de Consultas adiciona automaticamente esses delimitadores. Quando você especifica uma planilha ou intervalo, o driver lê o bloco contíguo de células começando com a primeira célula não vazia no canto superior esquerdo da planilha ou intervalo. Portanto, você não pode ter linhas vazias nos dados de origem ou uma linha vazia entre as linhas de título ou cabeçalho e as linhas de dados.
Valores ausentes. O driver do Excel lê um determinado número de linhas (por padrão, 8 linhas) na fonte especificada para adivinhar o tipo de dados de cada coluna. Quando uma coluna parece conter tipos de dados mistos, especialmente dados numéricos combinados com dados de texto, o driver decide em favor do tipo de dados majoritário e retorna valores nulos para as células que contêm dados de outro tipo. (Em uma ligação, o tipo numérico vence.) A maioria das opções de formatação de células na planilha de trabalho do Excel não parece afetar a determinação desse tipo de dados. Você pode modificar esse comportamento do driver do Excel especificando o Modo de Importação. Para especificar o Modo de Importação, adicione
IMEX=1ao valor de Propriedades Estendidas na cadeia de conexão do gerenciador de conexões do Excel na janela Propriedades . Para obter mais informações, consulte PRB: Valores do Excel retornados como NULL usando DAO OpenRecordset.Texto truncado. Quando o driver determina que uma coluna do Excel contém dados de texto, ele seleciona o tipo de dados (cadeia ou memorando) com base no valor mais longo que ele obtém. Se o driver não descobre nenhum valor maior que 255 caracteres nas linhas que ele verifica, ele trata a coluna como uma coluna de cadeia de 255 caracteres, não como uma coluna de memorando. Assim, valores com mais de 255 caracteres podem estar truncados. Para importar dados de uma coluna de memorando sem truncamento, verifique se a coluna de memorando em pelo menos uma das linhas amostradas contém um valor maior que 255 caracteres ou você deve aumentar o número de linhas amostradas pelo driver para incluir essa linha. Você pode aumentar o número de linhas amostradas aumentando o valor de TypeGuessRows na chave do registroHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel . Para obter mais informações, consulte PRB: A transferência de dados da origem OLEDB do Jet 4.0 falha com erro.
Tipos de dados. O driver do Excel reconhece apenas um conjunto limitado de tipos de dados. Por exemplo, todas as colunas numéricas são interpretadas como duplas (DT_R8) e todas as colunas de cadeia de caracteres (que não sejam colunas de memorando) são interpretadas como cadeias Unicode de 255 caracteres (DT_WSTR). O Integration Services mapeia os tipos de dados do Excel da seguinte maneira:
Numérico – flutuante de precisão dupla (DT_R8)
Moeda – moeda (DT_CY)
Booliano – booliano (DT_BOOL)
Data/hora -
datetime(DT_DATE)Cadeia de caracteres – cadeia Unicode, 255 de comprimento (DT_WSTR)
Memorando – fluxo de texto Unicode (DT_NTEXT)
Conversões de tipo de dados e comprimento. O Integration Services não converte implicitamente tipos de dados. Como resultado, talvez seja necessário usar transformações de Conversão de Dados ou Coluna Derivada para converter dados do Excel explicitamente antes de carregá-los em um destino que não seja do Excel ou converter dados que não sejam do Excel antes de carregá-los em um destino do Excel. Nesse caso, pode ser útil criar o pacote inicial usando o Assistente de Importação e Exportação, que configura as conversões necessárias para você. Alguns exemplos das conversões que podem ser necessárias incluem o seguinte:
Conversão entre colunas de cadeia de caracteres do Excel Unicode e colunas de cadeia de caracteres não Unicode com páginas de código específicas
Conversão entre colunas de cadeia de caracteres do Excel de 255 caracteres e colunas de cadeia de caracteres de diferentes comprimentos
Conversão entre colunas numéricas do Excel de precisão dupla e colunas numéricas de outros tipos
Configuração da origem do Excel
Você pode definir propriedades pelo Designer do SSIS ou programaticamente.
Para obter mais informações sobre as propriedades que você pode definir na caixa de diálogo Editor de Origem do Excel , clique em um dos seguintes tópicos:
A caixa de diálogo Editor Avançado reflete todas as propriedades que podem ser definidas programaticamente. Para obter mais informações sobre as propriedades que podem ser definidas na caixa de diálogo Editor Avançado ou programaticamente, clique em um dos seguintes tópicos:
Para obter informações sobre loop através de um grupo de arquivos do Excel, consulte Loop por meio de arquivos do Excel e tabelas usando um contêiner de Loop Foreach.
Tarefas Relacionadas
Importar dados do Excel ou exportar dados para o Excel com o SSIS (SQL Server Integration Services)
Mapear parâmetros de consulta para variáveis em um componente de fluxo de dados
Classificar dados para as transformações Mesclagem e Junção de Mesclagem
Loop através de arquivos e tabelas do Excel por meio de um contêiner do Loop Foreach
Conteúdo relacionado
Entrada de blog, Importando dados do Excel de 64 bits no SSIS, em hrvoje.piasevoli.com
Entrada de blog, Conectando-se ao Excel (XLSX) no SSIS.