File Exporter PCF para Power Apps Canvas Apps
Exporta archivos desde Power Apps Canvas Apps con un componente PCF para Microsoft Power Platform, usando entrada JSON, descarga ZIP o salida JSON para Flow y SharePoint.
Harllens George | 2026-03-23
Esta guia muestra una forma practica de resolver escenarios de Power Apps file export PCF en Microsoft Power Platform. El componente recibe un payload JSON con uno o varios documentos y luego descarga los archivos en el navegador o expone una salida estructurada que puedes enviar a Power Automate, SharePoint u otro sistema externo.
La idea principal es simple: los makers pueden quedarse dentro de Canvas Apps, definir archivos en JSON y decidir si la exportacion ocurre directamente en el navegador o despues mediante automatizacion.
Que es este componente
Es un componente PCF para Power Apps Canvas Apps que prepara archivos basados en texto desde documentsJson. Valida cada entrada, calcula metadatos, genera una salida base64 por archivo y soporta tres modos:
Disabled, solo salida, sin descarga en navegadorZip, una sola descarga en archivo comprimidoSeparate, una descarga por cada archivo valido
Para quien es
- Makers de Power Platform que necesitan funciones de exportacion en Canvas Apps
- Equipos que buscan un patron reutilizable de exportacion sin escribir logica personalizada en el navegador
- Proyectos que quieren entregar archivos generados a Power Automate o SharePoint
Get it
- Repositorio: Just-Boring-Cat/file-exporter-pcf
Compatibilidad
- Microsoft Power Platform
- Power Apps Canvas Apps
- Power Automate o flujos de SharePoint cuando la descarga en navegador no es el paso final
- Exportaciones basadas en texto como CSV, TXT, JSON, XML, HTML, Markdown o SQL
Por que importa
La exportacion de archivos es comun en apps de negocio, pero la implementacion suele quedar dispersa. Una pantalla arma un CSV, otra dispara un Flow y otra intenta descargar varios archivos con logica fragil.
Este componente ofrece un contrato mas claro:
- Una sola entrada JSON para todas las definiciones de documentos
- Un solo componente PCF para validar y preparar la salida
- Un solo output JSON que puedes consumir desde Power Fx o un Flow
Eso es util cuando quieres un patron repetible de exportacion entre varias apps.
Casos de uso comunes
- Exportar archivos CSV o TXT directamente desde una Canvas App
- Generar payloads JSON y guardarlos en SharePoint mediante Power Automate
- Entregar un solo ZIP en lugar de muchos archivos separados
- Desactivar la descarga en la UI pero seguir preparando los archivos para sistemas externos
Como funciona el componente
El flujo es directo:
- Enviar un arreglo JSON a
documentsJson. - Cada objeto define un archivo con
fileName,fileExtension,mimeTypeycontentText. - El componente valida cada documento y publica el resultado en
documentsOutputJson. - Luego decides si los archivos:
- se quedan solo en las salidas de la app,
- se descargan como ZIP,
- o intentan descargarse uno por uno en el navegador.
Ejemplo minimo de JSON
[
{
"id": "doc-001",
"fileName": "customers",
"fileExtension": "csv",
"mimeType": "text/csv",
"contentText": "Id,Name,Country\n1,Ana,DE\n2,John,US\n3,Mika,JP"
},
{
"id": "doc-002",
"fileName": "notes",
"fileExtension": "txt",
"mimeType": "text/plain",
"contentText": "This is a simple text file.\nSecond line.\nThird line."
}
]
Capturas
Vista previa del componente en Canvas Apps

Entrada documentsJson

Seleccion del modo de descarga

Salida documentsOutputJson

Propiedades de salida y estado

Que modo de descarga usar
Disabled
Usa Disabled cuando el componente solo deba preparar los archivos. Es la opcion mas segura cuando SharePoint, Power Automate u otro sistema externo se encargara del almacenamiento.
Zip
Usa Zip cuando quieras una descarga fiable en el navegador con un solo archivo. En la practica, es la mejor opcion integrada para usuarios que esperan un clic y un resultado claro.
Separate
Usa Separate cuando realmente necesites una descarga por archivo. Es best effort, porque el navegador o el host pueden limitar varias descargas consecutivas.
Como usarlo en Canvas Apps
- Importa la solucion en tu entorno.
- Agrega el componente a una pantalla de Canvas App.
- Vincula
documentsJsona un string JSON. - Configura
downloadModesegun el recorrido del usuario:Disabledpara flujos solo de salidaZippara un archivo comprimidoSeparatepara archivos individuales
- Lee
documentsOutputJson,isValid,validDocumentCountodownloadResultJsondesde Power Fx.
Parsear la salida JSON en Power Fx
Si quieres reutilizar la salida procesada dentro de la app, puedes convertir documentsOutputJson en una coleccion.
ClearCollect(
colDocs,
ForAll(
Table(ParseJSON(FileExporterComponent1.documentsOutputJson)),
{
id: Text(Value.id),
fileName: Text(Value.fileName),
fileExtension: Text(Value.fileExtension),
fullFileName: Text(Value.fullFileName),
mimeType: Text(Value.mimeType),
contentText: Text(Value.contentText),
base64: Text(Value.base64),
sizeBytes: Value(Text(Value.sizeBytes)),
isValid: Boolean(Value.isValid),
errorMessage: Text(Value.errorMessage)
}
)
)
Esto sirve cuando quieres mostrar una pantalla de confirmacion, filtrar solo documentos validos o enviar el payload final a un Flow.
Patron para SharePoint y Power Automate
Uno de los usos mas practicos de este componente es guardar los archivos generados fuera del navegador.
Patron recomendado:
- Configura
downloadMode = Disabled. - Espera a que se actualice
documentsOutputJson. - Envia ese string JSON a Power Automate.
- Usa
Parse JSONen el flujo. - Recorre los documentos.
- Convierte cada campo
base64a binario. - Crea los archivos en SharePoint u otro destino.
Asi obtienes un handoff claro entre la UI de la app y el flujo de almacenamiento.
Propiedades y salidas importantes
Entradas utiles:
documentsJsondownloadModearchiveFileNamedisplayModeInput- propiedades de estilo del boton
Salidas utiles:
documentsOutputJsondownloadResultJsondocumentCountvalidDocumentCountisValiderrorMessagelastActionchangeTokenselectToken
Errores comunes a evitar
- Usar
Separatepara entregas criticas de muchos archivos, normalmente ZIP es mas estable. - Esperar que el componente suba archivos por si solo, solo prepara la salida.
- No revisar
isValidyerrorMessageantes de enviar datos al Flow. - Usar descarga en navegador cuando en realidad el requisito final es guardar en SharePoint, en ese caso es mejor
DisabledmasdocumentsOutputJson.
Siguientes pasos
- Empieza con una exportacion simple de CSV o TXT.
- Decide si el usuario necesita un ZIP o un flujo de almacenamiento externo.
- Agrega un handoff a Power Automate si SharePoint u otro backend debe guardar los archivos.
Conclusion
Si necesitas un patron Power Apps file export PCF para Microsoft Power Platform, este componente ofrece una base practica: JSON de entrada, archivos validados de salida, y una decision clara entre descarga en navegador o handoff a automatizacion.