How to Export Power BI Data to Excel with Power Automate
Your sales manager needs the monthly Excel pack before the review meeting. Power Automate can build it, but the export is only the beginning of the job.
PBRS can turn your Power BI reports into one formatted, password-protected workbook and deliver it on schedule. Your team gets a file ready for the meeting.
When “just send me Excel” becomes a bigger job
Picture the last working day of the month. Your sales manager asks for an Excel copy of the Power BI figures so she can add comments before the review. You set up a flow to collect the data, and the first workbook looks promising.
Then she asks for a regional summary on one tab, the sales behind those totals on another, and a second report in the same file. Finance wants consistent number formats. The finished workbook also needs a password before it leaves the team.
Those are reasonable requests. They are also the point at which a simple export can turn into a small application that someone has to maintain. Each query, worksheet mapping, formatting step and recovery rule becomes part of the monthly process.
PBRS is the better fit when the recurring deliverable is a finished reporting pack. It can export summarized or underlying data from supported Power BI visuals, combine compatible report outputs into one workbook, apply Excel formatting and protect the file before delivery. You configure the reporting job instead of building each piece of workbook production into a flow.
Power Automate remains useful for a small custom extract or a wider business workflow. The decision is how much of your time should go into maintaining the Excel handoff, once the Power BI reports already contain the information the team needs.
Start with the file she needs
Ask your colleague to show you the workbook she would take into the meeting. Its tabs, detail and presentation reveal much more than a request to “export to Excel.”
Where the Power Automate work starts to add up
The first complication is easy to miss: Export To File for Power BI Reports does not produce XLSX for a standard interactive report. It produces PDF, PowerPoint or PNG. Paginated reports have a separate Excel export route; that does not turn an ordinary Power BI report into a workbook.
For a custom data extract, a common flow instead runs a DAX query against the semantic model, copies an Excel template and writes the returned records into its table. You have to express the required selection in the query; it does not automatically inherit the sales manager’s current report filters.
That approach can be perfectly workable for a modest, stable extract. As the monthly pack grows, though, someone must maintain the queries, keep the column mappings aligned with the model, and decide what happens if a run stops halfway through. A successful test with a few rows does not establish how the month-end volume will behave.
A few rows are different from a finished pack
Writing one row at a time adds an Excel action for each record. Turning on parallel writes to the same workbook is not a supported shortcut. File locks and delayed updates also complicate the moment when the flow can safely read back and send the completed file.
An Office Script can write data in batches and handle formatting, but now there is a script to develop and support as well as a flow. Combining reports and producing a password-protected workbook needs an explicit implementation too; the basic query-and-add-row sequence does not provide either outcome.
With PBRS, these are reporting settings and package options. For the sales manager’s recurring pack, that is the practical advantage: fewer workbook-building steps for your team to design and maintain. PBRS still needs a configured installation, authorised report access and a tested output, but it takes ownership of the export-and-delivery work.
Reference: the Microsoft limits that affect this approach
The Execute Queries API requires Read and Build permissions and the tenant’s query setting. Each call permits one query and one result table, up to 100,000 rows or 1,000,000 values, whichever comes first, and 15 MB. Inspect errors as well as status: an HTTP 200 can accompany limited results.
The Excel Online (Business) connector supports files up to 25 MB. Changes can take up to 30 seconds to appear; update or delete locks can last up to six minutes. Concurrent changes to the same file are unsupported, and retrying a timed-out insertion can duplicate data. When checking the result, List rows returns 256 rows by default unless pagination is enabled.
Office Scripts in Power Automate also have limits, including a 120-second timeout for synchronous operations and 1,600 Run script calls per user per day. Scripts can improve the design, but do not remove the need to size and test it.
The standard-report Export To File API requires a capacity-backed workspace and does not support PPU alone. That requirement belongs to that export route; it should not be applied indiscriminately to the query-to-Excel approach. Check the licensing and permissions for the actual actions you choose.
Count the maintenance too
Include the time spent changing queries, repairing mappings and investigating incomplete workbooks. A flow’s initial setup is only part of the cost of keeping the monthly pack dependable.
Prepare the finished sales workbook in PBRS
Return to the workbook your sales manager asked for. Start with one closed month and a test destination, with automatic delivery disabled. That gives you a real reporting pack to review together before it becomes part of the monthly routine.
Give her both the overview and the detail
Choose the report and its titled visuals, then select MS Excel – Data Only (*.xlsx). Use summarized data for the regional overview and underlying data where the team needs supporting records. Underlying export depends on the visual, model, permissions and Power BI export rules; it does not mean unrestricted access to every model row.
Name the worksheets so the team can find its way around. PBRS can place visual data into separate tabs or into an existing Excel template. The PBRS Excel output guide shows the selection and format controls.
Bring the reports together and make them readable
If the sales pack draws on several reports, add them to a PBRS package and use Excel merging to combine their compatible outputs into one workbook. Your colleague receives one file for the meeting rather than assembling several attachments herself.
Set the required number formats, styles and totals, or use the team’s Excel template. An amount should remain a value she can sum; a discount should display as a percentage. Formatting belongs in the repeatable job, so she does not have to tidy the same columns every month.
Protect the workbook that will actually be sent
Apply password protection to the final workbook. For a merged pack, set the password at the merge stage so it protects the combined file, rather than only the individual inputs. The Power BI package guide explains the merge and password options.
Choose the recipient or folder and a filename that makes the reporting month clear. Run the job once, then open the delivered workbook with your colleague. Check every tab, reconcile its totals, test the password and confirm that the underlying records are the ones she expects.
Once she is happy with that result, enable the schedule after the source data is ready. Confirm that the date selection moves to the next reporting period. If completion time varies, an application can request the PBRS job after the month is closed, as described below.
If you still need Power Automate: build a small query-to-Excel flow
For a simple custom extract, use a fresh copy of an XLSX template with a named table. Keep the initial test small and automatic recurrence disabled.
- Select the reporting period and use Power BI > Run a query against a dataset to return the required records. Check query errors, record counts and totals before continuing.
- Copy the template to a new file. Point subsequent Excel actions to that new file’s identifier, not the original template.
- Use a sequential Apply to each and Add a row into a table, mapping each returned field to its Excel column. Alternatively, implement and test a batch-writing Office Script.
- Validate the completed workbook before sending it. If an append operation fails partway through, reconcile the partial result before rerunning so that rows are not duplicated.
Include an identifier with leading zeros, a numeric amount and a blank value in the test. These help reveal a file that looks plausible but changes the meaning of the source data. The diagram illustrates the row-writing approach; it is not evidence of a tested flow in your environment.
Review the delivered copy
Check the workbook in the actual destination, including its password and every merged tab. That is the file your colleague will use, so it should be the one you approve together.
Let your application request the workbook
Your application may already know when the sales month is closed. It can request a saved PBRS job at that point, while PBRS handles the workbook preparation and delivery. The reporting team can maintain the Excel settings without making the application responsible for writing rows and styling cells.
Use the PBRS Excel API guide for visual selections, summary or underlying data and template settings. For a pack containing several reports, use the report package API guide to configure the members and merging.
API example: request and monitor a saved Excel job
This example runs an existing single-report Excel schedule that has already passed its workbook test. Replace the illustrative ID and connection values, authenticate first, and use a controlled destination. For a package, use its actual schedule type and identifier from the package workflow.
POST {pbrsBaseUrl}/api/Schedule/ExecuteScheduleAsync
Authorization: bearer {pbrsAccessToken}
Content-Type: application/json
{
"ScheduleType": "report",
"uniqueid": 101,
"RunBy": "Monthly sales workbook"
}
GET {pbrsBaseUrl}/api/Schedule/GetExecutionStatus?ExecutionId={ExecutionId}
Authorization: bearer {pbrsAccessToken}Retain the returned ExecutionId. Poll for completion and inspect ResultJson for the outcome; Completed alone does not establish successful delivery. Check the destination and investigate an uncertain request before submitting again.
The request runs the saved configuration. It does not change the reporting month or return the workbook’s contents. See the execution and monitoring guide for authentication prerequisites and result handling. This is an illustrative API sequence, not a run performed in your environment.
Keep the month with the result
Record the reporting period, execution ID and delivered filename together. If someone asks where the sales pack went, the next person can follow the right run without opening unrelated workbooks.
Make next month’s meeting easier
At the next review, your sales manager opens one workbook, checks the regional summary and moves to the supporting sales when a question comes up. The tabs are ready, the figures are readable and nobody has spent the morning merging files.
Keep Power Automate when a small custom extract or a broader workflow justifies maintaining the flow. Choose PBRS when the recurring job is to produce, combine, format, protect and deliver Power BI workbooks. Those requirements are central to the reporting process, and PBRS brings them together.
Start with the pack your team already uses. The PBRS Excel scheduling guide shows how to automate its delivery as part of your wider Power BI Report Automation routine.
Use the evaluation guide to plan a trial around that workbook and the people waiting for it.
Contributors:
Christian Ofori-Boateng
CEO, ChristianSteven Software
