How Do You Add a Download Button for a Specific Tableau Sheet?
Add a Download object to the dashboard and use Edit Button > Export to > Crosstab when viewers can choose the sheet in Tableau’s download dialog. For a button on an embedding web page that must target one worksheet directly, use the Embedding API’s exportCrosstabAsync(sheetName, format) method. Both routes retain the viewer’s applicable access and export permissions.
For example, an operations portal needs a “Download weekly sales” action beside a dashboard containing several reports. The intended file is the Weekly Sales Detail table. Advanced Tableau Report Scheduler (ATRS) serves a different need when that table must also be prepared and delivered through a maintained reporting job.
- THE DIRECT ANSWER Choose a native download action or a named-sheet button
- REQUIREMENTS AND LIMITATIONS Match the button to the job it promises
- END-USER WORKFLOWS Keep recurring report delivery in a maintained ATRS job
- DEVELOPER AND API WORKFLOWS Let a portal button request a stored ATRS reporting job
- CHOOSE YOUR NEXT STEP Choose the next step for the report
Choose a native download action or a named-sheet button
A Tableau download button should tell the reader what file to expect. For our portal example, “Download weekly sales” promises a particular table, while “Download dashboard data” leaves the choice open. Decide whether the viewer should select a sheet or receive one predetermined worksheet before choosing the implementation.
For the native route, drag a Download object from the dashboard’s Objects area onto the layout. Open the object menu, choose Edit Button, and choose Crosstab from the Export to menu. Choose a text or image style and add an informative tooltip. Tableau’s dashboard-object guide describes these controls and notes that crosstab downloading requires the workbook to be published to Tableau Cloud or Tableau Server.
Give a dedicated action a clear report target. This conceptual illustration shows the choice, not a Tableau interface.
The native Crosstab download lets the reader choose a dashboard sheet and XLSX or CSV. Use that route when selection is part of the task. Label it accordingly, for example “Choose sales sheet to download,” rather than implying that the button’s caption fixes the worksheet automatically.
If the portal must send one sheet without that selection step, a developer can call the Embedding API with its explicit name. This is a control on the host web page surrounding the embedded view; it is a different implementation from a native dashboard Download object. Chapter 4 explains how a portal can request a stored ATRS reporting job when managed file production is the requirement.
Make the button’s promise useful
Target: Name the report the reader expects to receive.
Choice: Decide whether the reader chooses a sheet or the application fixes it.
Format: Distinguish an XLSX workbook from a CSV data file.
Access: Keep the viewer’s download permissions in force.
Match the button to the job it promises
The visible button is only the start of the reporting job. A local download, an application-controlled export and a recurring file delivery have different owners and results. Keep those differences clear so the weekly sales action does not accidentally become a promise to distribute a weekly report.
| Requirement | Native or owned export route | ATRS fit and remaining work |
|---|---|---|
| Viewer chooses the sheet | Native Download object with Crosstab opens the selection route. | ATRS is unnecessary when an authorized interactive download meets the requirement. |
| One named worksheet per click | Embedding API exportCrosstabAsync accepts the worksheet name and Excel/CSV format. | Use native embedding for that immediate browser action; ATRS can maintain a separate reporting job. |
| A server-side XLSX response | REST exports summary data; a dashboard request returns only its first view. | Choose the intended source in a configured ATRS job when production and delivery must be maintained separately. |
| Repeatable workbook preparation | The application or analyst owns any work after the native export. | Excel output can use configured worksheet, template and column-format controls. |
| A report delivered later or repeatedly | A download action requires a viewer/application invocation; separate code can implement scheduling and delivery. | ATRS holds recurrence, report parameters, output and destinations in a saved job. |
The Embedding API method reference says the named sheet must belong to the active view. Its promise resolves when a download is initiated, not when the file is complete. The REST XLSX method is a separate operation; do not carry its first-dashboard-view behavior over to the named-sheet embedding method.
For our example, keep the button focused on the analyst’s current sales table. If finance later asks for a prepared workbook in an operations folder every Monday, treat that as a separate delivery requirement rather than leaving a dashboard open to imitate a scheduler.
Separate the reporting actions
Native: Use the dashboard object for the documented selection route.
Embedding: Supply a worksheet name for a direct host-page action.
REST: Identify the intended view; do not assume a dashboard means every sheet.
Delivery: Choose a maintained job when recipients should receive files later.
Keep recurring report delivery in a maintained ATRS job
Use the approved sales table as the source for a separate recurring job when the recipient needs the workbook without visiting the dashboard. Record the intended report, region, period, required columns and destination. A page button and a saved reporting job should be checked against the same sample, while retaining their different execution contexts.
In ATRS, create a Single Schedule. Select the linked Tableau account and the intended report’s Item Path, then give the job a clear name. Configure its report parameters explicitly; a filter selected in a user’s browser is not a setting in this independent job. The Single Schedule guide shows the account and report selection before timing, parameters and destinations.
The General page in the ATRS knowledgebase example. Choose the account and Item Path for your own report; the pictured Superstore values are examples.
Choose Excel output and the required folder or email destination. For a prepared workbook, evaluate the Tableau Excel report automation controls against finance’s sample and the current installation prerequisites. Confirm the columns, region, dates and total in the delivered file before making its recurrence active.
This takes over the repeated export, preparation and handoff. It does not turn ATRS into a browser download widget. If a portal requests the saved job through the API, it receives execution-tracking information; files follow the job’s configured destinations. The portal needs its own authorized file-return mechanism if the user must download the produced file from that page.
Compare the two outputs
Source: Map the browser action and saved job to the intended report.
Context: Configure the saved job’s values separately from browser filters.
Workbook: Open the received file and check its columns and total.
Destination: Confirm where the managed file arrives before enabling recurrence.
Let a portal button request a stored ATRS reporting job
A portal button can ask ATRS to produce the approved worksheet report through a backend request. Configure the intended source, report inputs, output and destination in ATRS first, and validate the generated file. The backend maps the signed-in user to that permitted reporting job.
Use ExecuteScheduleAsync to submit the job and GetExecutionStatus to track it. Keep the bearer token on the application server. Return a request reference or meaningful progress message to the reader; an accepted request should not be presented as a completed browser download.
The ATRS API does not insert a Tableau dashboard button or export the current browser session’s selected sheet directly. Its documented execution response is tracking information. A portal that must let the reader download a produced file needs its own authorized file-return mechanism after the configured output exists.
This illustrative request runs an existing ordinary single-report schedule. Replace 101 with its actual UniqueId, use your configured HTTPS ATRS address and keep the bearer token on your application server. The report, supported inputs, output and destination must already be configured and checked in ATRS; this execution request does not supply them.
POST /api/Schedule/ExecuteScheduleAsync
Authorization: Bearer <ATRS-access-token>
Content-Type: application/json
{"ScheduleType":"report","UniqueId":101,"RunBy":"API"}
GET /api/Schedule/GetExecutionStatus?ExecutionId=<returned-id>
Authorization: Bearer <ATRS-access-token>Save the returned ExecutionId with the application request. Poll GetExecutionStatus within a defined time limit and parse ResultJson separately: Status=Completed can still contain Result=false. Verify the resulting file and destination before calling the job successful. After an uncertain response, reconcile the execution and destination before retrying; the documented execution contract provides no idempotency key.
Use the ATRS Developer Hub for authentication and the complete operation contracts. Keep the application’s authorization decision separate from the Tableau account and destination access used by the reporting job.
Check the ATRS handoff
Job: Use the approved stored reporting configuration.
Access: Authorize the application’s request.
Result: Read the execution result, not Status alone.
Output: Verify the file and its destination.
Choose the next step for the report
Use a native Download object when a clear button and a sheet-selection dialog meet the need. Use a named-sheet embedding action when the portal must consistently target one worksheet for the signed-in viewer. In either case, confirm the actual file against the label before offering the action to readers.
Consider the ATRS Tableau report scheduler when the requirement expands into maintained workbook preparation, recurring execution and delivery. Bring the intended worksheet and a sample file to the evaluation, then agree where the report should arrive.
Explore application-controlled Tableau reporting with ATRS
Planning to maintain report delivery behind the portal? Use the guide to review ATRS deployment, access and reporting requirements with the application owner and report recipient.
Contributors:
Christian Ofori-Boateng
CEO, ChristianSteven Software

