Cuando se desea exportar la información a un archivo de Excel, de una lista en SharePoint o una colección, se debe crear una biblioteca de documento que es donde se almacenara los archivos generados.
Tendremos una lista de SharePoint llama agencia que contiene las columnas:
Realizaremos la exportación de la información desde una aplicación en Power Apps.
En Power Apps seleccionaremos + New Screen / Blank
Se creará una forma vacía e insertaremos una galeria.
Seleccionaremos la lista de SharePoint llamada agencia.
Insertaremos 3 etiquetas donde llamaremos los datos de la lista.
En Text de cada Label seleccionaremos el campo de la lista.
Ahora crearemos un botón donde exportaremos la información de la galeria a un formato Json, para esto, en el evento OnSelect de botón creamos una variable llamada var_JsonCreado que contendrá toda la información en formato Json de la galeria.
Para poder verificar la información crearemos una etiqueta y enviaremos la información de la variable.
Ejecutaremos la app y presionaremos el botón.
Seleccionaremos y copiaremos la información generada, ya que la utilizaremos para crear el flujo.
Flujo en Power Automate
Ahora crearemos el flujo en Power Automate que llamaremos desde la app de Power Apps, para esto seleccionamos el icono de Power Automate.
Seleccionamos + Add flow / + Create new flow.
Seleccionamos + Create from blank.
Presionamos + Add an input.
Seleccionamos Text.
Podemos dejar por default el valor o lo podemos cambiar.
Presionamos el botón
+ New step y seleccionamos
Parse JSON.
En Content llamaremos la variable declarada en el paso anterior.
Para la información de Schema utilizaremos la información que copiamos de la información generada en JSON, seleccionamos Generate from sample y copiamos la información de un solo registro, presionamos Done.
En automatico nos generada el esquema.
En caso de manejar campos numéricos con decimales, nos creará el tipo INTEGER, muchas veces habrá que cambiarlo a NUMBER.
Algo muy importante es que si nuestra lista maneja campos vacíos.
Debemos modificar el Schema, crearemos el apartado de campos no requeridos con la lista de campos que no contienen información en la lista.
Presionamos en botón +New step, seleccionamos Create CSV table.
Aqui es donde crearemos la estructura del archivo .csv, podemos indicar sus encabezados de cada columna, seleccionamos Body en From.
En Show advanced options es donde podemos personalizar las columnas.
En caso de selecionar Automatic, el nombre de las columnas se visualizará con el nombre del archivo JSON.
En caso de seleccionar Custom, se podrá teclear el nombre de las columnas.
Presionamos +New step y Create file de SharePoint.
Ahora creamos el archivo que se guardara en la biblioteca de documentos, en Site Address llamaremos nuestro sitio donde tenemos nuestras listas de SharePoint, en Folder Path llamaremos la biblioteca de documentos.
En File Name debemos teclear el nombre con el cual se guardará el archivo, para no repetir el nombre del archivo, podemos utilizar la fecha y hora de día actual, tecleamos en Expression:
En File Content seleccionamos Output.
Presionamos
+New step y seleccionamos
Respond to a Power App or flow.
Agregamos un
Text y tecleamos el nombre de la variable, agregamos la ruta donde se ubica nuestras listas, nos posicionamos al ruta de la ruta y agregamos
Path.
Por último, tecleamos un nombre a nuestro fujo y salvamos.
Regresamos a nuestro botón en Power Apps y agregamos el código para llamar nuestro flujo, crearemos la variable
var_JsonResultado que llama el flujo
exportar de la variable
var_JsonCreado y regresara la variable
resultado que se ubica en el último paso del flujo, para finalizar realizamos la descargar de la variable
var_JsonResultado.
Ejecutamos la app, presionamos el botón exportar y se generara el archivo .csv,
El código:
Set(
var_JsonCreado,
JSON(
ShowColumns(
Gallery6.AllItems,
id,
Agencia,
Direccion
),
JSONFormat.IndentFour
)
);
Set(
var_JsonResultado,
exportar.Run(var_JsonCreado).resultado
);
Download(var_JsonResultado)