Hi 🙋
I have a simple Power Automate flow that creates an .xlsx in SharePoint, creates a table (headers at A1:Y1), and then adds rows using “Add a row into a table”. At the end, I build a download.aspx URL and return it to Power Apps for the user to download.
The issue is that if I try to download immediately after adding the rows, the file comes down empty (only the headers or the just-created table). If I add a ~40-second Delay before returning the URL, the download is complete. I tried a different library/site and saw the same behavior.
Related observation: in the SharePoint library itself, if I open the newly created file right away, it also appears empty at first and takes a few seconds to “fill in” with data—though that delay is usually shorter than with the download.aspx download.
I built the flow following this DamoBird365 video: https://youtu.be/gr62sT2Ywd8?si=CMbs7rlRX984IHMf
My understanding is that Excel Online needs some time to “materialize” or consolidate the changes into the .xlsx after creating the table and writing multiple rows, and during that window download.aspx serves a version that hasn’t caught up yet. I’m looking for a supported way to ensure the workbook is truly ready for download without relying on a long fixed Delay. Is there any recommended pattern to confirm the file is consolidated or an official alternative that avoids this initial empty download?
I’m attaching a screenshot of the flow as well.
btn_financial.OnSelect:
ClearCollect(colDatos,
ForAll(GaleriaFinancial_1.FinancialItems,
{
'Experience ID': Text(ThisRecord.FinaExpID.crdbb_experienceid),
Experience: ThisRecord.FinaExpName,
Status: ThisRecord.FinaExpStatus & "", // Convierte la opción a texto
City: ThisRecord.FinaExpCity,
Building: ThisRecord.FinaExpOfficeName,
WBS: ThisRecord.FinaExpWBS,
Requestor: ThisRecord.FinaExpRequestor,
'Start Date': Text(ThisRecord.FinaExpStartDate, "yyyy-mm-dd"),
'End Date': Text(ThisRecord.FinaExpEndDate, "yyyy-mm-dd"),
'Cost - AV': ThisRecord.FinaCostAV,
'Cost - Cleaning': ThisRecord.FinaCleaningCost,
'Cost - External': ThisRecord.FinaExternalProviderCost,
'Cost - Catering': ThisRecord.FinaCateringCost,
'Cost - Office Supplies': ThisRecord.FinaOfficeSuppliesCost,
'Cost - Security': ThisRecord.FinaSecurityCost,
'Cost - Maintenance': ThisRecord.FinaMaintenanceCost,
'Cost - Other Request': ThisRecord.FinaOtherReqCost,
'Cost - Space': ThisRecord.FinaSpaceCost,
'OVT - Cleaning': ThisRecord.FinaCleaningOvertimeCost,
'OVT - Waitress': ThisRecord.FinaWaitressesOvertimeCost,
'OVT - CX': ThisRecord.FinaCXOvertimeCost,
'OVT - Maintenance': ThisRecord.FinaMaintenanceOvertimeCost,
'OVT - Space': ThisRecord.FinaSpaceOvertimeCost,
'OVT - TS': ThisRecord.FinaTSOvertimeCost
}
)
);
UpdateContext({
_ctxDownloadFinancial:
'CX-FinancialExcel'.Run(JSON(colDatos)).excelcontenido
});
Download(_ctxDownloadFinancial);





Thanks!