Compartir vía


Excel.Workbook

Syntax

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

Acerca de

Devuelve el contenido del libro de Excel.

  • useHeaders puede ser NULL, un valor lógico (true/false) que indica si la primera fila de cada tabla devuelta debe tratarse como un encabezado o un registro de opciones. Valor predeterminado: false.
  • delayTypes puede ser null o un valor lógico (true/false) que indica si las columnas de cada tabla devuelta deben dejarse sin tipo. Valor predeterminado: false.

Si se especifica un registro para useHeaders (y delayTypes es null), se pueden proporcionar los siguientes campos de registro:

  • UseHeaders: puede ser null o un valor lógico (true/false) que indica si la primera fila de cada tabla devuelta debe tratarse como un encabezado. Valor predeterminado: false.
  • DelayTypes: puede ser null o un valor lógico (true/false) que indica si las columnas de cada tabla devuelta deben dejarse sin tipo. Valor predeterminado: false.
  • InferSheetDimensions: puede ser null o un valor lógico (true/false) que indica si el área de una hoja de cálculo que contiene datos debe deducirse leyendo la propia hoja de cálculo, en lugar de leer los metadatos de dimensiones del archivo. Esto puede ser útil en los casos en los que los metadatos de dimensiones son incorrectos. Tenga en cuenta que esta opción solo se admite para archivos de Excel open XML, no para archivos de Excel heredados. Valor predeterminado: false.

Nota:

El useHeaders parámetro o el UseHeaders campo de registro convierte números y fechas en texto mediante la referencia cultural actual y, por tanto, se comporta de forma diferente cuando se ejecuta en entornos con diferentes referencias culturales del sistema operativo establecidas. Se recomienda usar Table.PromoteHeaders en su lugar. Por ejemplo, en lugar de usar Excel.Workbook(File.Contents("C:\myfile.xlsx", true, true)) o Excel.Workbook(File.Contents("C:\myfile.xlsx", [UseHeaders = true], null)), use Table.PromoteHeaders(Excel.Workbook(File.Contents("C:\myfile.xlsx", null, true), [PromoteAllScalars = true])) en su lugar.

Ejemplo 1

Devuelve el contenido de Sheet1 de un libro de Excel.

Uso

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

Salida

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"]
})