How to export Asana to Excel, with subtasks in place
Maksim Norkin (opens in a new tab)Product
· Updated · 6 min read
Export Asana to Excel as a CSV, then put subtasks back under their parents and get back what the export leaves out, such as comments.
In the task manager
Spring launch
In your spreadsheet
To export Asana to Excel, you export a project as a CSV file and open it in Excel. That part takes a minute. What takes longer is what you find inside: subtasks listed apart from their parents, and no comments. This guide covers the export, how to put subtasks back under their parents, how to get comments out, and how to combine several projects in one sheet.
- 1Open the title’s menuThe drop-down next to the project’s name
- 2Hover over Export/PrintIts formats open beside it
- 3Choose CSVJSON is for other software
- Open the project in Asana.
- Click the drop-down menu next to the project's title.
- Hover over Export/Print.
- Choose CSV. Asana also offers JSON, which is for other software, not for a spreadsheet.
- Open the file in Excel, and if you want to keep formulas and formatting, save it as an Excel workbook (.xlsx), since a CSV keeps neither.
The export is one project at a time. Besides projects, Asana can export a search view and your My tasks list, which helps when the tasks you need are spread across projects (see below).
Asana's own guide to the CSV export lists its columns: Task ID, creation, completion and last-modified dates, Name, Assignee, Due Date, Tags, Notes, Project Name, and Parent Task for subtasks. Your file may have more, such as your project's custom fields; check the headings in the first row.
Comments aren't on that list, and that is the gap most people run into. Two things follow from the columns: each subtask is a row of its own, linked to its parent through the Parent Task column; and the file is a snapshot of the moment you exported it.
As exported
Sorted, subtasks under their parents
- 1Add a Group and a Level column
- 2Sort by Group, then by Level
Sorting the sheet so each subtask sits under its parent takes two helper columns. Say Name is in column C and Parent Task is in column N (look for them in your file; the letters vary). In two empty columns, put these in row 2 and fill them down:
| Column | Formula | What it gives |
|---|---|---|
| Group | =IF(N2="", C2, N2) | The parent's name, for a task and for its subtasks |
| Level | =IF(N2="", 0, 1) | 0 for a task, 1 for a subtask |
Then sort the whole sheet by Group, then by Level. Each task now comes first, with its subtasks right under it. To make them easy to tell apart, add a column with =IF(N2="", C2, " – " & C2) and use it in place of Name. Two tasks with the same name end up in one group, so rename one of them in the sheet if that happens. A sub-subtask names its own parent, a subtask, so it lands in a group of its own; move those rows under their subtask by hand.
If your file has no comments, the honest answer is that getting them out is manual work, task by task. For a handful of tasks it's quick:
- Add a Comments column next to Name in your sheet.
- Open a task in Asana, select its comments at the bottom of the task, copy them, and paste them into that task's row as plain text (Ctrl+Shift+V, or Cmd+Shift+V on a Mac).
- Repeat for the tasks that matter. If you only need the latest comment, copy that one; a report rarely needs the whole history.
Pasting several comments into one cell can split them over rows. If it does, paste into the cell's edit bar instead of the cell, or join the rows back up afterwards. The general fixes for pasted lists in our guide to exporting a list from any site cover this.
Three exports
Stacked in one sheet
Repeated heading
- 1Line up the columns first
- 2Paste each file below the last
- 3Delete the repeated headings
Export each project, then paste them one under another in a single sheet and delete the repeated heading rows. The Project Name column tells you which row came from which project. Check that the headings match before you stack them: projects with different custom fields have different columns, so line those up first, or keep only the columns all of them share.
If the tasks you need are spread across many projects, a search view can be quicker: search for them in Asana, for example by assignee and due date, and export that view instead of each project.
For Asana to Google Sheets, use the same CSV. In a new Google Sheets file, choose File › Import › Upload, pick the file, and import it into a new sheet. The helper columns and formulas above work the same way there, and the sheet is one you can share with people who aren't in Asana.
Keep a Raw tab for each fresh export and a Report tab whose formulas point at it, so next month you paste the new export into Raw and the Report follows. And if the export you keep wishing for is a button only you need, our guide to building your own extension for a button the site lacks shows what that takes.
Tabless is a browser extension that builds what you ask for from the sites you allow; nothing is typed or submitted without your OK. It isn't open yet. An export like this one is the kind of job we're building it for: asking in plain words for "this project's tasks with their subtasks under them, the assignee, the due date and the last comment", and getting it as a CSV or XLSX file.
It's designed to read through the session your browser already has, so there are no API keys or passwords to hand over, and to ask before it reads each site. You sign in to Tabless with a Wix account.
Not in one project export, which covers one project. Asana can export a search view and your My tasks list, though, so search for the tasks you need across projects, or use My tasks for your own, and export that. Otherwise, export each project and stack the files in one sheet.
Asana exports CSV and JSON. Open the CSV in Excel and save it as an Excel workbook (.xlsx); that keeps the helper columns, formulas and formatting you add, which a CSV would drop.
Not yet. Tabless isn't open, and exports like this one are among the jobs we're building it for. Join the waitlist, and we'll let you know when you can try Tabless.