How to convert an Excel spreadsheet to PDF that actually fits

Updated 2026-08-08 · 7 min read

Short answer: Set a print area, then use Page Layout → Scale to Fit with Width set to 1 page and Height left on Automatic. Add repeating header rows through Print Titles, switch to landscape for wide tables, and export with File → Export → Create PDF/XPS. Never set both Width and Height to 1 page.

Excel exports to PDF badly by default because a spreadsheet has no page size. It is an infinite grid, and Excel has to guess where to cut it. Six settings turn that guess into a decision you control, and they all live on the Page Layout tab.

The six settings that matter

  1. Set the print area Select the cells you actually want, then Page Layout → Print Area → Set Print Area. Without this, Excel exports every cell that has ever been touched, including the stray space in BZ4000 that produces 38 blank pages.
  2. Fit to width, not to page In Page Layout → Scale to Fit, set Width: 1 page and leave Height: Automatic. This is the single most important setting. It stops columns spilling onto their own sheets while letting the rows flow naturally over as many pages as they need.
  3. Go landscape for wide tables Page Layout → Orientation → Landscape. A4 landscape is 297 mm wide against 210 portrait, 41 percent more width for nothing.
  4. Repeat the header row Page Layout → Print Titles → Sheet tab → Rows to repeat at top, then click the row selector for row 1 (it fills in as $1:$1). Now every page carries the column headings instead of just the first.
  5. Check Page Break Preview View → Page Break Preview shows blue lines where the pages will split. Drag them to move a break. Solid blue is a manual break you set; dashed blue is Excel automatic choice.
  6. Export File → Export → Create PDF/XPS, then click Options to choose Active sheet(s), Entire workbook or Selection, and to set a page range.

Watch out: Do not set both Width and Height to 1 page unless the data really is small. Excel will shrink the whole sheet until it fits, and a 200-row table forced onto one page ends up at about 4 point type, technically one page, unreadable in practice. Width 1 / Height Automatic is almost always what you meant.

Every relevant setting, and where it lives

ProblemSettingWhere
Dozens of near-blank pagesPrint AreaPage Layout → Print Area → Set Print Area
Columns spill to extra sheetsWidth: 1 pagePage Layout → Scale to Fit
Table is too wideLandscapePage Layout → Orientation
Headers only on page 1Rows to repeat at topPage Layout → Print Titles → Sheet
Page splits mid-sectionManual page breakPage Layout → Breaks → Insert Page Break
Content hugs the left edgeCenter on page: HorizontallyPage Setup dialog → Margins
No grid on the printoutGridlines → PrintPage Layout → Sheet Options
Want row and column labelsHeadings → PrintPage Layout → Sheet Options
Pages come out in a strange orderPage order: Down, then overPage Setup dialog → Sheet
Only one sheet exportedPublish what: Entire workbookExport → Options

Excel print settings that change the PDF.

Tip: The little arrow at the bottom-right corner of the Page Setup group on the Page Layout tab opens the full Page Setup dialog. Centring, page order, first page number and print quality live there and nowhere else on the ribbon.

Things that catch people out

Google Sheets and LibreOffice Calc

In Google Sheets, File → Download → PDF Document opens a print preview with the same controls under different names: Scale offers "Fit to width", Headers & footers has "Repeat frozen rows", and the Export dropdown chooses Current sheet, Workbook or Selected cells. Freeze row 1 with View → Freeze → 1 row first, so the repeat option becomes available.

In LibreOffice Calc, Format → Print Ranges → Define sets the print area, and Format → Page Style → Sheet has "Fit print range to width/height" plus "Rows to repeat".

Convert an .xlsx to PDF in your browser, with fit-to-width handled for you.

After the export

Always open the PDF and read it before sending. Two checks catch nearly everything: does page 2 have headers, and does any column end in ##### (the column was too narrow and Excel could not display the number). Widen the column and export again.

If you exported each sheet separately, merge them into one document. If a monthly report needs page numbers, add them to the PDF rather than fighting Excel footers, which do not know how many pages the whole compiled document has. If the workbook is full of charts and screenshots, compress the result before emailing it.

Frequently asked questions

How do I make an Excel spreadsheet fit on one page in PDF?

Page Layout → Scale to Fit, set Width to 1 page and leave Height on Automatic. Setting both to 1 page shrinks the text until everything fits, which for anything over about 40 rows produces type too small to read.

Why does my Excel PDF have so many blank pages?

Excel exports everything up to the last cell ever used, including cells you cleared but did not delete. Select your data, then Page Layout → Print Area → Set Print Area. To fix it permanently, delete the unused rows and columns entirely and save.

How do I repeat the header row on every page of the PDF?

Page Layout → Print Titles, open the Sheet tab, click in "Rows to repeat at top" and select row 1 so it reads $1:$1. Excel then prints those rows at the top of every page. Freezing panes does not do this.

Can I export the whole workbook to one PDF?

Yes. File → Export → Create PDF/XPS, click Options, and choose "Entire workbook". Each sheet keeps its own page setup, so set the print area and scaling on every sheet before you export, not just the active one.

Why are my numbers showing as hashes in the PDF?

The column is too narrow for the formatted number, so Excel displays ##### instead. It prints exactly as displayed. Widen the column, or reduce the decimal places, then export again.

Tools

Keep reading