Compartilhar via


Excel.Workbook

Sintaxe

Excel.Workbook(
    workbook as binary,
    optional useHeaders as any,
    optional delayTypes as nullable logical
) as table

Sobre

Retorna o conteúdo da pasta de trabalho do Excel.

  • useHeaders pode ser nulo, um valor lógico (true/false) que indica se a primeira linha de cada tabela retornada deve ser tratada como um cabeçalho ou um registro de opções. Padrão: false.
  • delayTypes pode ser nulo ou um valor lógico (true/false) que indica se as colunas de cada tabela retornada devem ser deixadas sem tipo. Padrão: false.

Se um registro for especificado para useHeaders (e delayTypes for nulo), os seguintes campos de registro poderão ser fornecidos:

  • UseHeaders: pode ser nulo ou um valor lógico (true/false) que indica se a primeira linha de cada tabela retornada deve ser tratada como um cabeçalho. Padrão: false.
  • DelayTypes: pode ser nulo ou um valor lógico (true/false) que indica se as colunas de cada tabela retornada devem ser deixadas sem tipo. Padrão: false.
  • InferSheetDimensions: pode ser nulo ou um valor lógico (true/false) que indica se a área de uma planilha que contém dados deve ser inferida lendo a própria planilha, em vez de ler os metadados de dimensões do arquivo. Isso pode ser útil em casos em que os metadados de dimensões estão incorretos. Observe que essa opção só tem suporte para arquivos open XML do Excel, não para arquivos herdados do Excel. Padrão: false.

Observação

O useHeaders parâmetro ou o campo de UseHeaders registro converte números e datas em texto usando a cultura atual e, portanto, se comporta de forma diferente quando executado em ambientes com diferentes culturas do sistema operacional definidas. Em vez disso, é recomendável o uso de Table.PromoteHeaders. Por exemplo, em vez de usar Excel.Workbook(File.Contents("C:\myfile.xlsx", true, true)) ou Excel.Workbook(File.Contents("C:\myfile.xlsx", [UseHeaders = true], null))usar, use Table.PromoteHeaders(Excel.Workbook(File.Contents("C:\myfile.xlsx", null, true), [PromoteAllScalars = true])) em vez disso.

Exemplo 1

Retorne o conteúdo da Planilha1 de uma pasta de trabalho do Excel.

Usage

Excel.Workbook(File.Contents("C:\Book1.xlsx"), null, true){[Item="Sheet1"]}[Data]

Saída

Table.FromRecords({
    [Column1 = "ID", Column2 = "Name", Column3 = "Phone"],
    [Column1 = 1, Column2 = "Bob", Column3 = "123-4567"],
    [Column1 = 3, Column2 = "Pam", Column3 = "543-7890"],
    [Column1 = 2, Column2 = "Jim", Column3 = "987-6543"]
})