Gearyforgemore tools
Rowmill

Team roster from Excel

Club and school teams usually live in a spreadsheet: one row per player per fixture, with a position column, kick-off and full-time times, and a notes cell for kit or travel. Rowmill turns that workbook into a tidy printable roster grouped by date, ready for the changing-room door or the team chat. Upload your .xlsx file, check the column mapping, and download a PDF that opens and prints cleanly on any machine, so the same sheet serves the noticeboard, the parents and the squad list.

1 Load your rotaCSV or Excel, as you already keep it

to see what a finished roster looks like

Your file never leaves your browser. The spreadsheet is read by JavaScript running on your own device, and nothing is uploaded or stored.

2 Check the columnsmatched for you - change any that are wrong

Once a file is loaded, each column is matched to a name, role, date or time here.

3 Title it and downloada printable PDF, built in this browser

Your roster appears here, grouped by date, before anything is downloaded.

Recognised column names

The tool recognises these column names: Player, Position, Date, Start, End, Notes

Built for match-day sheets

Most clubs keep a match-day workbook with columns like Player, Position, Date, Start and End. Coaches add a Notes cell for venue changes, away-travel pick-ups or shirt numbers, and the manager sends a copy to everyone on the squad list before the weekend. Rowmill reads those headers, groups every row under its fixture date, and lays the squad out so a whole day fits neatly on one printed page without anybody retyping the sheet.

The .xlsx path, covered

Excel is where team sheets usually live, so the .xlsx route is first-class here: drop the workbook onto the page and the grid is read straight from the file, with CSV and TSV also accepted. Nothing is uploaded to a server — the file is parsed in your browser and the roster PDF is generated locally, which matters when the sheet contains youth players and you would rather the squad names never left the club laptop at all.

One roster per fixture date

Rows are grouped under a bold date heading, sorted chronologically, and entries with an unreadable date fall into a "No date" group at the end rather than being silently dropped. Skipped rows are counted and reported so you can fix the source sheet instead of printing an incomplete squad list. Kick-off and full-time times are normalised too, so whatever mix of 9, 09:00 or spreadsheet fractions your workbook contains, every line shows a clean start and end.

Print-ready output

The generated PDF uses a fixed layout: the roster title, the club or team subtitle, date headings in bold, and each player on one line with position, kick-off to full-time times and notes. Long names and long notes are trimmed to fit their columns rather than spilling over, and every page carries a page-number footer. It opens in any reader and prints cleanly on A4, so the same file works for the noticeboard and for parents.

Questions

Does it work with .xlsx files from Excel or Google Sheets?

Yes. Download your team sheet as .xlsx from either and drop it in. CSV and TSV exports work too if you prefer plain text.

What if my columns are named differently?

Player, Position, Date, Start and End are recognised automatically. Pick any other column, such as Kick-off, once in step 2; every column can be remapped.

Can I handle several fixtures in one file?

Yes. Every row carries its own date, and the roster groups players under each fixture date in order.

Is player data sent anywhere?

No. Parsing and PDF generation happen entirely in your browser, so the roster never leaves the device.

Can I add my club name to the printed sheet?

Yes. Set the title and subtitle before building the PDF, and they appear at the top of every printed page.

Other rosters and schedules