PDF tables → Excel › Guides
Turn a 30-page PDF report into one continuous sheet
Reports exported to PDF by accounting, logging or inventory software often run to dozens of pages, with the same title and column header printed at the top of every page. Copying page by page leaves you with the header pasted in thirty times. Here is how to get one table with one header row.
Verified sample Steps and sample produced by running this site's converter on a synthetic file.
Steps
- Check the PDF has real text. Try to select a word in the report with your mouse. If you can, it has a text layer and can be converted. If the whole page selects as one picture, it is a scan; this tool does not do OCR yet and will report it.
- Open the PDF table converter and leave "Skip titles and paragraphs (table rows only)" ticked. The report title, the page footer and any notes printed on a line by themselves are left out, so they don't appear between page breaks in your sheet.
- Drop the PDF. The status line counts through the pages as they are read ("page 12/30"). Nothing is sent anywhere while it works.
- Read the summary on the card. It shows pages, rows and columns. The first page's header row is kept as row 1. On each later page, a row that matches that header exactly and sits in the first three rows of the page is dropped, so the table runs on without breaks.
- Check the page breaks. The preview shows the first 15 rows; the download has all of them. Open the download and look at the rows around a page boundary (in a 35-rows-per-page report, rows 36 and 37) to confirm nothing was doubled or lost.
- Download Excel or CSV. In the Excel file, cells that are entirely a number (including "1,234.50", "(12.00)" and "12%") become real numbers: 1234.5, −12 and 0.12. Percentages are stored as fractions without percent formatting, so format that column as a percentage if you need to. Dates and codes with leading zeros stay as text so they are not changed.
Sample: 30 pages, 1,050 readings
The fixture is a synthetic 30-page sensor report: a title and a one-line note on every page, then the header Date · Station · Temp C · Rain mm · Status and 35 readings per page.
Before: 30 pages, the header printed 30 times. Converting each page on its own gives 1,080 rows (1,050 readings plus 30 header rows).
After: one sheet, 1,051 rows (one header and 1,050 readings), 5 columns, "all text placed · 1980 characters of titles/notes left out" (the 30 titles and notes). Rows 36 and 37 are the last reading on page 1 and the first on page 2:
| Row | Date | Station | Temp C | Rain mm | Status |
| 1 | Date | Station | Temp C | Rain mm | Status |
| 2 | 2026-01-01 | North field 0 | -5.0 | 0.0 | check |
| … | |||||
| 35 | 2026-10-06 | North field 3 | -2.9 | 6.9 | ok |
| 36 | 2026-11-07 | North field 4 | 0.8 | 8.2 | ok |
| 37 | 2026-12-08 | North field 0 | 4.5 | 0.5 | ok |
| 38 | 2026-01-09 | North field 1 | 8.2 | 1.8 | check |
| … | |||||
| 1050 | 2026-05-13 | North field 3 | 2.6 | 3.4 | ok |
| 1051 | 2026-06-14 | North field 4 | 6.3 | 4.7 | ok |
In the Excel file the temperature "-5.0" in row 2 is stored as the number −5, while "2026-01-01" stays as text.
When a header is not dropped
- If a later page's header differs from the first page's in any way (an extra "(continued)", a different column width that splits text differently), it does not match and stays in as a row. Filter for it in your spreadsheet.
- A page with a different table layout gets columns of its own, and its cells may land under different columns. The converter checks that every piece of text was placed somewhere, not that it is under the right heading, so look at the preview.
- With "table rows only" ticked, a cell that wraps onto a second line is joined back together when the second line sits directly under its row and has nothing else on it. If two cells in the same row wrap, their second lines share a line and come out as a row of their own instead. A single line of text printed directly under the last row (a note such as "Prices include tax") is treated the same way and joined into that row's cell, so check the last row of each table. With "table rows only" unticked, nothing is joined and every line becomes a row.
Several reports with the same layout? Tick "Combine all files into one sheet" and drop them together; see combining tables from many PDFs.