Move tables from Table Grid, Excel or CSV
Guide · Jira Cloud · Updated 12 November 2026 · Import page available from app version 3.0.0
Most teams don't start with an empty table field. The rows already exist somewhere: in another table app, in spreadsheets attached to work items, or in a Data Center site that has to move to Cloud before 2029. Retyping them is where migrations stall.
Rowmill Table Grid has an import page for Jira admins: Jira settings > Apps > Rowmill Table import. It reads one CSV, shows a dry run, then writes the tables into the work items. The import runs inside your Jira site. Nothing is sent to Rowmill.
Step 1. Get your rows into one CSV
One line per table row. The first column is the work item key. The rest are your table columns.
Issue key,Part,Qty,Needed by,Ordered
PROJ-12,Hex bolt M8,120,2026-03-02,yes
PROJ-12,Washer M8,240,2026-03-02,yes
PROJ-13,Drive belt,2,,no
- Lines with the same key become that work item's table, in file order.
- Comma, semicolon or tab separated. Excel's quoting is fine.
- Numbers like
1,234.5or1 234,5. Dates like2026-03-02,3/2/2026or2.3.2026. Checkboxes as yes/no, true/false, 1/0 or x.
From a spreadsheet, this is usually a copy and paste plus one extra column for the key. You can also paste straight from Excel into the import page instead of uploading a file.
Step 2. If the data is in Table Grid Next Generation
On Cloud, Table Grid keeps grid rows in the vendor's own storage, not in the Jira field, according to its documentation. So the rows have to be exported from Table Grid first. Two ways:
A few work items: use the export button on each grid (CSV or Excel), add a key column, and combine the files into one sheet. Formula and sequence columns come out empty in that export.
Many work items: read each grid with Table Grid's REST API, save each response as KEY.json in one folder, then run our converter on your own computer:
python3 tablegrid-json-to-csv.py --in ./grids --out import.csv --titles titles.json
Download tablegrid-json-to-csv.py (Python 3, no dependencies, makes no network calls). It turns dates stored as Unix milliseconds into YYYY-MM-DD, joins multi-select values, and keeps row order. titles.json is optional and maps Table Grid's column ids to readable names.
Be aware: we wrote the converter from Table Grid's published API format and tested it on sample files, not on a live Table Grid site. Check the CSV before you import. If something comes out wrong, email us a sample and we will fix the converter.
Data Center to Cloud: Table Grid's own migration path moves data into Table Grid Cloud. To land in Rowmill instead, export from your Data Center site (the converter is written to accept the Data Center response format as well, also untested on a live site), migrate your work items to Cloud as usual, then import. Work item keys must match.
Step 3. Map, dry run, import
- Create the Rowmill Table field and its columns first (setup steps).
- On the import page, pick the field and upload or paste the CSV. Columns with matching names are mapped for you.
- Run the dry run. It lists keys that were not found, tables over Jira's 32,768-character field limit, numbers and dates it could not read, and select values that are not configured yet. Unknown select values can be added to the column in one click.
- Import. Choose whether to replace existing tables or add rows to them. Download the result as CSV for your records.
Column types
| Table Grid column | Becomes |
|---|---|
| Text, text area | Text |
| Number, integer | Number |
| Date, date-time | Date (time of day dropped) |
| Single select | Select |
| Multi select, user | Text |
| Checkbox | Checkbox |
Questions about a migration: [email protected].
Related: How to add a table to a Jira work item · Search by values inside a table