Excel
Elemento | Descripción |
---|---|
Estado de la versión | Disponibilidad general |
Productos | Excel Power BI (Modelos semánticos) Power BI (Flujos de datos) Fabric (Flujo de datos Gen2) Power Apps (Flujos de datos) Dynamics 365 Customer Insights Analysis Services |
Tipos de autenticación admitidos | Anónimo (en línea) Básico (en línea) Cuenta organizacional. (en línea) |
Documentación de referencia de funciones | Excel.Workbook Excel.CurrentWorkbook |
Nota
Algunas capacidades pueden estar presentes en un producto, pero otras no, debido a los programas de implementación y las capacidades específicas del host.
Para conectarse a un libro heredado (como .xls o .xlsb), se requiere el proveedor OLEDB (o ACE) del motor de base de datos de Access. Para instalar este proveedor, vaya a la página de descarga e instale la versión pertinente (de 32 o 64 bits). Si no lo tiene instalado, verá el siguiente error al conectarse a libros heredados:
The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine. The 32-bit (or 64-bit) version of the Access Database Engine OLEDB provider may be required to read this type of file. To download the client software, visit the following site: https://go.microsoft.com/fwlink/?LinkID=285987.
ACE no se puede instalar en entornos de servicio en la nube. Por lo tanto, si ve este error en un host de nube (como Power Query Online), deberá usar una puerta de enlace que tenga ACE instalado para conectarse a los archivos heredados de Excel.
- Import
Establecimiento de la conexión desde Power Query Desktop:
Seleccione Libro de Excel en la experiencia de obtención de datos. La experiencia de obtención de datos en Power Query Desktop varía entre las aplicaciones. Para obtener más información sobre la experiencia de obtención de datos de Power Query Desktop para la aplicación, vaya a Dónde obtener datos.
Busque y seleccione el libro de Excel que desea cargar. A continuación, seleccione Abrir.
Si el libro de Excel está en línea, use el conector web para conectarse al libro.
En Navegador, seleccione la información de libro que desee y después elija Cargar para cargar los datos o Transformar datos para seguir transformando los datos en el editor de Power Query.
Establecimiento de la conexión desde Power Query Online:
Seleccione la opción Libro de Excel en la experiencia de obtención de datos. Las distintas aplicaciones tienen diferentes formas de obtener datos en Power Query Online. Para obtener más información sobre cómo acceder a la experiencia de obtención de datos de Power Query Online desde la aplicación, vaya a Dónde obtener datos.
En el cuadro de diálogo de Excel que aparece, proporcione la ruta de acceso al libro de Excel.
Si es necesario, seleccione una puerta de enlace de datos local para acceder al libro de Excel.
Si es la primera vez que ha accedido a este libro de Excel, seleccione el tipo de autenticación e inicie sesión en su cuenta (si es necesario).
En Navegador, seleccione la información del libro que necesite y, a continuación, seleccione Transformar datos para continuar transformando los datos en el Editor de Power Query.
Si se conecta a un libro de Excel que no contiene específicamente una sola tabla, el navegador de Power Query intentará crear una lista sugerida de tablas entre las que puede elegir. Por ejemplo, considere el siguiente ejemplo de libro que contiene datos de A1 a C5, más datos de D8 a E10 y más de C13 a F16.
Al conectarse a los datos de Power Query, el navegador de Power Query crea dos listas. La primera lista contiene toda la hoja de libros y la segunda contiene tres tablas sugeridas.
Si selecciona toda la hoja en el navegador, el libro se muestra tal como apareció en Excel, con todas las celdas en blanco rellenadas con null.
Si selecciona una de las tablas sugeridas, cada tabla individual que Power Query pudo determinar a partir del diseño del libro se muestra en el navegador. Por ejemplo, si selecciona la tabla 3, se muestran los datos que aparecieron originalmente en las celdas C13 a F16.
Nota
Si la hoja cambia lo suficiente, es posible que la tabla no se actualice correctamente. Es posible que pueda corregir la actualización importando los datos de nuevo y seleccionando una nueva tabla sugerida.
Al importar datos de Excel, puede observar que determinados valores numéricos parecen cambiar ligeramente cuando se importan en Power Query. Por ejemplo, si selecciona una celda que contiene 0,049 en Excel, este número se muestra en la barra de fórmulas como 0,049. Pero si importa la misma celda en Power Query y la selecciona, los detalles de la vista previa lo muestran como 0,049000000000002 (aunque en la tabla de vista previa tenga el formato 0,049). ¿Qué ocurre aquí?
La respuesta es un poco complicada y tiene que ver con cómo Excel almacena los números con algo denominado notación de punto flotante binario. En resumen: hay ciertos números que Excel no puede representar con una precisión del 100 %. Si abre el archivo .xlsx y examina el valor real que se almacena, verá que en el archivo .xlsx, 0,049 está realmente almacenado como 0,0490000000000000002. Este es el valor que Power Query lee de .xlsx y, por tanto, el valor que aparece al seleccionar la celda en Power Query. (Para obtener más información sobre la precisión numérica en Power Query, vaya a las secciones "Número decimal" y "Número decimal fijo" de Tipos de datos en Power Query.)
Si desea conectarse a un documento de Excel hospedado en SharePoint, puede hacerlo a través del conector Web en Power BI Desktop, Excel y Flujos de datos, y también con el conector de Excel en Flujos de datos. Para obtener el vínculo al archivo:
- Abra el documento en Excel Desktop.
- Abra el menú Archivo, seleccione la pestaña Información y, a continuación, seleccione Copiar ruta de acceso.
- Copie la dirección en el campo Ruta de acceso de archivo o dirección URL y quite ?web=1 del final de la dirección.
Power Query lee los libros heredados (como .xls o .xlsb) mediante el proveedor OLEDB del motor de base de datos de Access (o ACE). Debido a esto, es posible que encuentre comportamientos inesperados al importar libros heredados que no se producen al importar libros OpenXML (como .xlsx). Estos son algunos ejemplos comunes.
Debido a ACE, los valores de un libro heredado de Excel se pueden importar con menos precisión o fidelidad de lo esperado. Por ejemplo, imagine que el archivo de Excel contiene el número 1024,231, que ha formateado para que se muestre como "1024,23". Cuando se importa en Power Query, este valor se representa como el valor de texto "1024,23" en lugar de como el número de fidelidad completa subyacente (1024,231). Esto se debe a que, en este caso, ACE no expone el valor subyacente a Power Query, sino solo el valor que se muestra en Excel.
Cuando ACE carga una hoja, examina las ocho primeras filas para determinar los tipos de datos de las columnas. Si las ocho primeras filas no son representativas de las filas posteriores, ACE puede aplicar un tipo incorrecto a esa columna y devolver valores nulos para cualquier valor que no coincida con el tipo. Por ejemplo, si una columna contiene números en las ocho primeras filas (como 1000, 1001, etc.), pero tiene datos no numéricos en filas posteriores (como "100Y" y "100Z"), ACE concluye que la columna contiene números y que los valores no numéricos se devuelven como nulos.
En algunos casos, ACE devuelve resultados completamente diferentes en las actualizaciones. Con el ejemplo descrito en la sección de formato, es posible que de repente vea el valor 1024,231 en lugar de "1024,23". Esta diferencia puede deberse a que el libro heredado estaba abierto en Excel cuando se importó en Power Query. Para resolver este problema, cierre el libro.
A veces, Power Query no puede extraer todos los datos de una hoja de cálculo de Excel. Este error suele deberse a que la hoja de cálculo tiene dimensiones incorrectas (por ejemplo, dimensiones de A1:C200
cuando los datos reales ocupan más de tres columnas o 200 filas).
Para ver las dimensiones de una hoja de cálculo:
- Cambie el nombre del archivo xlsx con la extensión .zip.
- Abra el archivo en el Explorador de archivos.
- Vaya a xl\worksheets.
- Copie el archivo xml de la hoja problemática (por ejemplo, Sheet1.xml) fuera del archivo ZIP en otra ubicación.
- Inspeccione las primeras líneas del archivo. Si el archivo es lo suficientemente pequeño, ábralo en un editor de texto. Si el archivo es demasiado grande para abrirse en un editor de texto, ejecute el siguiente comando desde un símbolo del sistema: more Sheet1.xml.
- Busque una etiqueta
<dimension .../>
(por ejemplo,<dimension ref="A1:C200" />
).
Si el archivo tiene un atributo de dimensión que apunta a una sola celda (como <dimension ref="A1" />
), Power Query usa este atributo para buscar la fila inicial y la columna de datos de la hoja.
Sin embargo, si el archivo tiene un atributo de dimensión que apunta a varias celdas (como <dimension ref="A1:AJ45000"/>
), Power Query usa este intervalo para buscar la fila y la columna iniciales, así como la fila y la columna finales. Si este intervalo no contiene todos los datos de la hoja, algunos de los datos no se cargarán.
Puede corregir problemas causados por dimensiones incorrectas mediante una de las siguientes acciones:
Abra y vuelva a guardar el documento en Excel. Esta acción sobrescribirá las dimensiones incorrectas almacenadas en el archivo con el valor correcto.
Asegúrese de que la herramienta que generó el archivo de Excel se ha corregido para generar correctamente las dimensiones.
Actualice la consulta M para omitir las dimensiones incorrectas. A partir de la versión de diciembre de 2020 de Power Query,
Excel.Workbook
admite una opciónInferSheetDimensions
. Cuando es true, esta opción hará que la función ignore las dimensiones almacenadas en el libro y, en su lugar, las determine inspeccionando los datos.El siguiente es un ejemplo de cómo se proporciona esta opción:
Excel.Workbook(File.Contents("C:\MyExcelFile.xlsx"), [DelayTypes = true, InferSheetDimensions = true])
La carga lenta de datos de Excel también puede deberse a dimensiones incorrectas. Sin embargo, en este caso, la lentitud se debe a que las dimensiones son mucho mayores de lo que necesitan ser, en lugar de ser demasiado pequeñas. Las dimensiones demasiado grandes harán que Power Query lea una cantidad mucho mayor de datos del libro de los que realmente se necesitan.
Para corregir este problema, puede consultar Buscar y restablecer la última celda de una hoja de cálculo para obtener instrucciones detalladas.
Al recuperar datos de Excel en la máquina o desde SharePoint, tenga en cuenta tanto el volumen de los datos implicados, como la complejidad del libro.
Observará la degradación del rendimiento al recuperar archivos muy grandes de SharePoint. Sin embargo, esto es solo una parte del problema. Si tiene una lógica de negocios significativa en un archivo de Excel que se recupera de SharePoint, es posible que esta lógica de negocios tenga que ejecutarse al actualizar los datos, lo que podría provocar cálculos complicados. Considere la posibilidad de agregar y calcular previamente los datos o mover una parte mayor de la lógica de negocios fuera de la capa de Excel y a la capa de Power Query.
Aunque los archivos CSV se pueden abrir en Excel, no son archivos de Excel. Use el conector Text/CSV en su lugar.
Es posible que vea el siguiente error al importar libros guardados en el formato "Hoja de cálculo Open XML estricta" de Excel:
DataFormat.Error: The specified package is invalid. The main part is missing.
Este error se produce cuando el controlador de ACE no está instalado en el equipo host. ACE solo puede leer los libros guardados en el formato "Hoja de cálculo Open XML estricta". Sin embargo, dado que estos libros usan la misma extensión de archivo que los libros Open XML normales (.xlsx), no podemos usar la extensión para mostrar el mensaje de error habitual the Access Database Engine OLEDB provider may be required to read this type of file
.
Para resolver el error, instale el controlador de ACE. Si se produce el error en un servicio en la nube, deberá usar una puerta de enlace que se ejecute en un equipo que tenga instalado el controlador de ACE.
Es posible que vea el siguiente error al importar determinados libros de Excel.
DataFormat.Error: File contains corrupted data.
Normalmente, este error indica que hay un problema con el formato del archivo.
Sin embargo, a veces este error puede producirse cuando un archivo parece ser un archivo Open XML (como .xlsx), pero realmente se necesita el controlador de ACE para procesarlo. Vaya a la sección Conector de ACE heredado para obtener más información sobre cómo procesar archivos que requieren el controlador de ACE.
- Power Query Online no puede acceder a archivos cifrados de Excel. Dado que los archivos de Excel etiquetados con tipos de confidencialidad distintos de "Public" o "Non-Business" están cifrados, no son accesibles a través de Power Query Online.
- Power Query Online no admite archivos de Excel protegidos con contraseña.
- La opción Excel.Workbook
useHeaders
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.