Excel's “Save as Web Page” breaks when you send it

You saved the workbook as a web page so people without Excel could read it, attached the .htm, and the reply came back: "it's blank" — or "there's only one sheet", or "it looks like a 1998 website".

The file isn't corrupt. Excel never made one file.

What Excel actually writes

Save a workbook as Web Page (*.htm; *.html) and you usually get two things next to each other:

Q3 forecast.htm
Q3 forecast_files/
  sheet001.htm
  sheet002.htm
  tabstrip.htm
  stylesheet.css
  filelist.xml
  image001.png

Q3 forecast.htm is a thin wrapper. For a multi-sheet workbook it is a frameset that loads each sheet and the tab strip from the _files folder; even a single sheet usually pulls its stylesheet, images and charts from there. Exactly what lands in the folder depends on the Excel version and what the workbook contains, but the shape is always the same: the page you see is assembled from files the .htm only points at.

Why it breaks in transit

Every reference into _files/ is relative. On your machine the folder sits next to the .htm, so it works. Once the .htm travels alone:

  • Blank page or empty frame — the frameset loads, the sheet files don't exist on the recipient's machine.
  • Only one sheet, no tabs — the tab strip lives in the folder too.
  • No colours, borders or fonts — stylesheet.css is missing.
  • Broken image icons where the charts were — chart images are PNGs in the folder.

Renaming the .htm breaks it the same way on your own machine, because the folder name is baked into every path.

Fix 1: send the folder too (fragile)

Zip the .htm and the _files folder together, unchanged. It works if the recipient extracts the zip and opens the .htm from the extracted folder. It fails if they preview the file from inside the archive, open it on a phone, or the mail gateway strips the zip. This is the same trap as images not showing in a sent HTML file.

Fix 2: Single File Web Page (.mht) (unreliable)

Excel's Single File Web Page (*.mht; *.mhtml) packs everything into one file. That solves the folder problem and replaces it with a support problem: MHTML is opened by some desktop browsers and simply downloaded by others, mail clients rarely preview it, and phones mostly don't render it at all. Fine for archiving; poor for sending.

Fix 3: convert the sheet to a plain HTML table

A plain <table> has nothing external to lose. The Excel to HTML table converter reads the .xlsx in your browser — nothing uploads — and produces a clean, styled table:

  • values exactly as Excel displays them (currency, percentages, dates), formulas as their last calculated result;
  • one sheet, or every sheet on one page with a heading each;
  • a downloadable .html with the styles inline, or Markdown for a ticket.

What you give up: cell colours, conditional formatting and charts. If those are the point, export the sheet to PDF from Excel, or rebuild the chart in the HTML report itself.

Better than a file: a link

Even a perfect single .html is still an attachment — Outlook may block it, and Slack won't preview it. From the converter, Get a shareable link publishes the table to Comma instead: one URL that opens in any browser, on a phone too, with no Excel installed. Readers comment on the exact row rather than replying "row 14 looks off", and publishing again next week keeps last week's version as a revision.

Try it

Convert an Excel sheet to HTML →

Related