Excel to PDF Without Losing Formatting
By Mark Fulton · 2026-08-17 · 18 min read

The formatting does not get lost during the conversion. It gets lost in Excel's page setup, before any export runs, which is why swapping converters never fixes it. A spreadsheet has no pages. A PDF is nothing but pages. Somewhere between the two, something has to decide where this grid gets cut into paper sized rectangles, and unless you have told Excel what to do, it decides for you: default paper size from whatever printer driver is installed, whatever margins the workbook was saved with, page breaks wherever the columns happened to run out of room. Set the print area, orientation, margins, column widths, scaling and page breaks once, and every export route (Save As PDF, Print to PDF, an online converter) produces the same clean file. Leave them unset and every route produces the same mess.
That is the whole post in one paragraph, and I want it up front because the search results for this problem are almost entirely upload boxes. Those tools work fine. They just cannot help with this, because by the time your .xlsx reaches them, the page geometry is already baked into the file.
Below is the diagnosis in detail, then a nine step pass you can run in about ten minutes, ordered so that nothing you do early gets thrown away by something you do later.
Why does the PDF look different from the screen?
Because the screen has one continuous surface and the PDF has a fixed rectangle repeated N times, and nothing in your file has told Excel what that rectangle should contain.
On screen, a table that runs to column T is fine. You scroll. There is no edge. When you export, Excel measures your used range against the current paper size minus the current margins, works out that roughly columns A through I fit across one sheet of paper, and puts J onward on a second page. Then it does the same thing vertically. A wide sheet that is also long can turn into a dozen or more pages, each holding a fragment, headers only on the first one. That is the "my table split across pages" complaint, and it is not a bug. It is arithmetic that ran without your input.
Three specific things drive the arithmetic, and all three live in the file rather than in the converter:
- The used range. Excel prints what it thinks you are using. If someone once typed a stray character in BX4000 and deleted the text but not the cell formatting, your used range extends there, and your PDF will contain a lot of empty paper.
- The paper size in page setup, which comes from the current default printer's driver the first time a sheet is set up. This is worth taking seriously. In one Microsoft support thread, a file that had exported cleanly for two years suddenly came out as eighteen fragmented pages, and the cause was a label printer set as the machine's default: Excel was sizing the page to four inch wide media. Nobody suspects the printer when they are not printing anything.
- The saved page breaks. Once page breaks exist in a sheet, whether you inserted them or Excel calculated them, they persist. Delete forty rows and the breaks stay where they were, now falling in the wrong places.
None of that is visible in the normal grid view, which is exactly why the PDF is a surprise.
What does Excel decide for you at export time?
Everything you have not decided yourself. Specifically:
| Decision | Where it comes from if you ignore it | What it costs you |
|---|---|---|
| What to print | The whole used range, including stray formatting | Blank pages, deleted-but-not-really content |
| Paper size | The default printer driver | Wrong page count, cut off columns |
| Orientation | Portrait | Wide tables split down the middle |
| Margins | Whatever was last saved, often the 1.9 cm / 0.75 in default | Two or three columns of usable width thrown away |
| Scaling | No scaling, 100% | The split you did not want |
| Page breaks | Automatic, recalculated or stale | Breaks in the middle of a table |
| Repeated headers | None | Pages 2 onward with unlabelled columns |
| Gridlines and row/column headings | Off for gridlines, off for headings | A page that reads differently from the screen |
Read down the middle column and you can see why the "which converter is best" question is the wrong one. Every item is a property of the worksheet. A converter reads the worksheet. It inherits every one of these decisions.
The useful reframing: you are not converting a spreadsheet to a PDF. You are laying out a document, and the PDF is what falls out of the layout.
How do you set a print area that survives edits?
A print area is the range Excel will print, saved with the workbook, and it is the single highest leverage setting on this list because it takes the "what to print" decision away from the used range.
On Windows, select the range, then go to the Page Layout tab, and in the Page Setup group choose Print Area, then Set Print Area. The same menu carries Add to Print Area for extending it and Clear Print Area for removing it. Microsoft's own print area documentation covers the multiple-area case too: a sheet can hold several print areas, and each one prints as a separate page, which is occasionally what you want and more often an accident.
On Mac the path is different, and this catches people who learned the Windows one. Microsoft documents Excel for Mac as File menu, then Print Area, then Set Print Area, with Clear Print Area in the same place. In Excel for the web there is no print area setting at all; you print a selection at print time, or open the file in the desktop app.
Now the part the question is really asking. Print areas are stored as fixed cell references, so a print area of A1:H240 stays A1:H240 when your table grows to row 300, and rows 241 onward silently vanish from the export. Three ways to stop that, in increasing order of effort:
- Check it before every export. Ten seconds in Page Break Preview, covered below. This is what most people should do.
- Set the print area generously. If the table will grow but not double, include the empty rows below it. Empty rows inside a print area add nothing to the PDF as long as they are genuinely empty and carry no fill or borders.
- Format the range as a real Excel Table first, then set the print area to the Table. When the Table expands, the defined name expands with it. This is the only version that is genuinely self maintaining, and it comes with the Table's own header row behaviour, which is useful anyway.
One habit worth building: set the print area last thing before you export, not the first time you build the sheet. It is a publishing decision, not a design decision, and it goes stale the moment the data changes.
Scale to fit or restructure the sheet, which is right?
Both, in a specific order: restructure first, scale second, and stop scaling at the point the text stops being readable.
Excel's scaling controls live on the Page Layout tab in the Scale to Fit group, as three boxes labelled Width, Height and Scale. For the full dialog version, click the small Page Setup launcher at the bottom right of that ribbon group, go to the Page tab, and use the Fit to boxes under Scaling. Microsoft's fit to one page article gives the path and also notes plainly that the feature is not available in Excel for the web, where the fix is to open the workbook in the desktop app.
Here is the setting almost everyone gets wrong. The instinctive answer is 1 page wide by 1 page tall, and for a sheet with more than about thirty rows it produces a PDF nobody can read, because Excel will happily shrink to 10% to make the promise true. A forty row report squeezed onto one page is not a document, it is a thumbnail.
The setting that is right far more often is Width: 1 page, Height: Automatic. One page wide means no column ever gets orphaned onto a continuation sheet, which is the actual complaint behind most of these searches. Automatic height means the rows flow over as many pages as they need, which is what paper is for. Pair it with repeating header rows (step 8 below) and a four page PDF reads perfectly well.
Before you scale at all, buy width for free:
- Narrow the margins. Page Layout, Margins, Narrow. On A4 or Letter this typically returns close to an inch of usable width, which is often a whole column.
- Go landscape if the table is wider than it is tall. Page Layout, Orientation, Landscape. On A4 that is 297 mm of width instead of 210 mm.
- Autofit the columns, then trim the ones that are too generous. A description column set to 60 characters when the longest entry is 28 is stealing space from every other column.
- Hide the columns the reader does not need. Working columns, IDs, intermediate calculations. Hidden columns are excluded from the print area, so this is a real reduction rather than a cosmetic one.
Only when you have done all four should you reach for scaling. And there is a floor: if the resulting scale percentage drops below roughly 60% to 70%, the body text of a normal 11 point sheet is heading toward unreadable on paper. At that point the honest answer is that the table has too many columns for one page, and the fix is editorial rather than mechanical. Split it into two tables, move the detail to a second tab, or accept two pages wide with repeated label columns on the left.
Why do gridlines and colours change in the PDF?
Gridlines and colours are two separate stories, and both surprise people.
Gridlines do not print by default. The faint grey grid you see on screen is a display aid, not formatting, and it is excluded from the export unless you tick Gridlines: Print in the Sheet Options group on the Page Layout tab. Row numbers and column letters have their own Headings: Print checkbox in the same group, also off by default.
This is why a sheet that looked structured on screen can come out of the export as floating numbers on white. If you were relying on gridlines to hold the table together visually, the PDF has nothing. The fix is not to print gridlines. The fix is to put real borders on the cells that need them, which is what the on screen version should have had anyway. Our professional formatting rules cover the border and line economy side of that, and the advice is unchanged for print: a header rule, a total rule, and very little else.
Printing gridlines is defensible in exactly one case, which is a working document someone will annotate by hand.
Colours shift for more mundane reasons. Excel's colour picker works in RGB, a screen colour model, and PDF viewers and printers are working toward CMYK ink. Saturated screen colours, particularly bright greens, cyans and oranges, come out duller. Light fills often come out lighter still. Nothing has gone wrong; the gamuts genuinely differ.
Two consequences worth planning for:
- A pale fill that reads as "highlighted" on a monitor can be invisible on paper. If a fill carries meaning, give it a border or a text marker as well, so the meaning survives the trip.
- Colour scales and data bars flatten badly in greyscale. If there is any chance this PDF gets printed on a mono printer, check it in greyscale first. Excel's print settings include a Black and white option under Sheet Options in the Page Setup dialog for exactly this test. Our post on conditional formatting that earns its place makes the same argument for the on screen case: a rule that only communicates through hue is one printer away from communicating nothing.
The related failure that gets blamed on colour is text. Fonts do embed in a PDF export, so your typeface survives, but a column that shows ##### on screen because it is too narrow for its number will show ##### in the PDF too. The export does not widen anything. Fix column widths before exporting, not after.
What does the page setup pass look like, in order?
This is the nine step pass. The order matters more than the individual steps, because several of them invalidate the ones before if you run them out of sequence. Setting a print area before you delete junk means redoing the print area. Checking page breaks before you set scaling means checking them twice.
1. Fix the default printer first. Before touching page setup, confirm your machine's default printer is a normal document printer or a PDF writer, not a label maker, receipt printer or shipping station. Excel derives paper size from the driver, and a 4 inch wide default will fragment every export you attempt. This step costs fifteen seconds and it is first because everything below is measured against the paper size it sets.
2. Set paper size and orientation. Page Layout, then Size (A4 or Letter, matched to wherever this will actually be printed), then Orientation. Landscape if the table is wider than it is tall. Decide this now because every width calculation from here depends on it.
3. Clear out what should not print. Remove or hide helper columns, clear active filters (a filtered view exports filtered, which is rarely what you want and never what you remember), delete stray cells beyond the table, and search for #REF, #DIV/0 and #N/A before any of it reaches a PDF. If your used range extends far past your data, select the empty rows and columns, delete them properly, and save. Everything structurally messy belongs in a broader cleanup pass, and the pre-send checklist covers that ground in full.
4. Fix column widths and row heights. Autofit, then trim the over generous columns, then check that nothing shows #####. This comes before scaling because scaling is calculated against the widths you set here. Do it after and you have to rescale.
5. Pull the margins in. Page Layout, Margins, Narrow. Free width before you pay for width with scaling. If a custom header or footer is going in, set it here too, since it eats vertical space.
6. Set the print area. Select the range, Page Layout, Page Setup group, Print Area, Set Print Area. On Mac it is the File menu route above. Sixth rather than first, because steps 3 and 4 change what the range should be.
7. Set scaling: Width 1 page, Height Automatic. Page Layout, Scale to Fit group. Only reach for 1 page tall if the sheet is genuinely short. If the resulting scale drops below roughly 60%, go back to step 3 and cut columns instead.
8. Repeat the header row. Now that the sheet spans several pages downward, page two needs its column labels. Page Layout, Page Setup group, Print Titles, then Rows to repeat at top, entered as $1:$1 or selected with the collapse button. Microsoft's print titles documentation also explains the grey out that catches everybody: the command is dimmed if you are in cell editing mode, if a chart is selected on the same worksheet, or if no printer is installed. Press Esc first. On Mac the equivalent is Page Layout, Page Setup, the Sheets tab, and the Print Titles section. Note that freeze panes and print titles are unrelated settings despite sounding alike, and freezing a row does nothing for the printed page.
9. Check in Page Break Preview, then export. View tab, Workbook Views group, Page Break Preview. This is the only view that shows you the truth: solid blue lines are your print area boundary, dashed blue lines are automatic page breaks, and you can drag either one. Fix any break that falls mid table, then export. Do not skip to the export because the earlier steps went well. Every one of them moves the breaks.
Run in this order, the pass takes about ten minutes on a sheet you have never laid out before and about ninety seconds on one you have. And it is stored in the file, so next month's version is already correct.
Does the export route matter?
Much less than you would hope, which is the good news, because it means you only have to get the page setup right once.
Save As PDF (File, Save As or Export, then PDF) uses Excel's own PDF writer. It respects the print area, scaling, print titles and page breaks you set, and it gives you an Options button where you can choose the active sheet, the entire workbook, or the current selection, plus a page range. The Standard and Minimum size settings affect image compression, not layout. This is the route I would default to.
Print to PDF (File, Print, then choose "Microsoft Print to PDF" or a similar virtual printer) goes through the print pipeline instead. Same page setup, same output in almost all cases. Its one advantage is the print preview panel sitting right there, which is a useful last look. Its one risk is that it is the route most sensitive to the printer driver quirk from step 1.
Online converters upload the .xlsx, run a server side conversion, and hand back a PDF. They read the same page setup properties from the file. If you have run the pass above, they will produce something very close to the desktop routes. If you have not, they will produce the same broken layout you would have got locally, which is precisely why "try a different converter" never solves this. The other consideration is that your file leaves your machine, which for anything containing customer data, salaries or unpublished numbers is a decision worth making deliberately rather than by habit.
Google Sheets deserves a note, since plenty of people land there. It has its own export dialog (File, Download, PDF) with scale, orientation and margin settings, and it does not read Excel's saved page setup on import. If your workflow crosses over, you set the layout again on the Sheets side.
So: one route is not "better". They differ in convenience and in where your data goes, not in whether they preserve your formatting. Preservation is upstream of all of them.
Set the layout once, then export from wherever you like
Most of the nine steps are judgement calls about your specific table, and no tool takes those off you. A few of them are mechanical, and those are worth automating.
That is where SuperSheet's Excel formatter fits. Drop an .xlsx or .csv on it, and it reads your columns, proposes number formats, a totals row, frozen headers and a theme, and you approve or reject each piece before anything is written. The exports come out with fit to one page wide already set, which is step 7 done for you and the step that fixes the split-across-pages complaint most often. Column widths come back sized to their content, so the ##### problem goes with them. Nothing is uploaded; the file is processed in your browser and your original is untouched. The free tier is complete and the export carries a small credit line. Pro removes it, adds all five themes and raises the AI chat limits, at $6 a month billed $36 every six months, or $99 once.
Two things it deliberately will not do. It will not unmerge cells or restructure a tab holding three stacked tables, because guessing what you meant by a layout produces a worse file than leaving it alone and telling you. And it will not decide your print area, because that is a decision about what your reader needs to see.
If you have a file that keeps breaking on export, that is the one to try it on. Run the pass above, run the file through the formatter, and compare the PDF with the last one you sent.
FAQ
Why does my Excel PDF split across pages?
Because the used range is wider or longer than one sheet of paper at the current paper size, margins and scaling, and no print area or scaling setting has told Excel otherwise. It is not the converter.
The quickest diagnosis is View, Page Break Preview. The dashed blue lines are exactly where the PDF will break, and they appear in the normal grid too as faint dotted lines once a sheet has been printed or previewed. If you see a break two columns from the right edge of your table, set Width to 1 page in the Scale to Fit group and it collapses. If the sheet also breaks into a dozen pages downward for no visible reason, check the paper size, then check which printer is set as your default.
How do I stop columns being cut off in a PDF?
Set Width: 1 page in the Scale to Fit group on the Page Layout tab, and leave Height on Automatic. That guarantees no column lands on a continuation page while letting the rows flow.
If the resulting scale is too small to read, the table is too wide, and scaling cannot fix that. In order: switch to landscape, narrow the margins, autofit and trim the column widths, hide the columns your reader does not need, and only then look at splitting the table across two pages with a repeated label column on the left. There is also one silent culprit worth checking, which is a print area that was set months ago and no longer matches the table. Clear it and set it again.
Does exporting to PDF change my colors?
Slightly, and predictably. Excel picks colours in RGB and PDF rendering moves toward the CMYK ink model, so saturated colours look duller and pale fills look paler. Fonts embed properly, so typefaces do not change.
The practical rule is not to rely on a fill alone to carry meaning. Add a border, a symbol or a word, so the message survives a colour shift and a greyscale printer. If the PDF is going to a mono printer, preview it in black and white before sending. The same discipline that makes a sheet readable on screen, one accent colour used consistently and meaning never encoded in hue alone, is what makes it survive export. Our number formatting guide covers the format code side of the same idea, since a negative shown in red only is invisible in greyscale while a negative in parentheses is not.
Is Print to PDF different from Save as PDF?
In output, almost never. Both read the same page setup from your worksheet, so both produce the same layout.
The differences are practical. Save As PDF uses Excel's own writer and gives you an Options dialog for choosing the active sheet, the whole workbook or a selection, plus a page range, and it is the more direct route. Print to PDF goes through a virtual printer driver, which means it shows you the print preview panel before you commit, and it is the route most exposed to a wrong default printer. If your exports have been unpredictable, use Save As PDF and check the result in Page Break Preview first. If you like seeing the preview, use Print to PDF and check which printer driver the preview is being rendered against.