文件格式任意转换助手Transfer Any File

离线 · 无上传 · 浏览器本地完成Offline · no uploads · runs in the browser

Excel 转 JPG——离线、经一份 PDF、值不重算Excel to JPG offline — via a PDF, values not re-guessed

这条链和 Word→WebP 同形,也带着那条最不显然的事实:**中间真的产出一份 PDF**——三步写作 `xlsx>html` → `html>pdf` → `pdf>jpg`。第一步由 SheetJS 把工作表写成 HTML 表格——读的是**算完之后的值**,公式不会被重新求值,也不带列宽、字体、底色这些呈现层信息;多个工作表时每个表前面会有一个标题。第二步把这份 HTML 交给浏览器按 **A4 纵向**排版,逐页渲染成画布并作为 **PNG 无损切片**写进 PDF。第三步由 pdf.js 把每一页画到**铺白底的画布**上,编码成 JPEG——所以整条链只有终点那一次有损量化,中间不叠加代际。要说清的代价:一页一图是**浏览器分页**的结果,Excel 里的分页符、打印区域与缩放比例在这里没有对应物;多页时产出是 **ZIP**,条目名 `page-N.jpg` 的 N 是文档页号;表格过宽过长的极端情况里,**只有长度有闸**:整页高度超过上限会在渲染那一步明确报错;宽度没有闸,超出 800 版心的右侧列会被裁掉,宽表请先在 Excel 里拆列或改走 Excel→PDF。图片是像素这一条也照实说:图里的数字选不中、也不能被 Excel 再算——要把数据交给程序请走 Excel→CSV / JSON 那几页。全程只有 storage 权限、不联网。This chain has the same shape as Word to WebP, and carries the same least-obvious fact: **a PDF really is produced in the middle** — `xlsx>html`, then `html>pdf`, then `pdf>jpg`. Step one has SheetJS write the sheets as HTML tables: it reads the **computed values**, so no formula is re-evaluated, and it carries none of the presentation layer (column widths, fonts, fills are simply not in that markup); with several sheets each table gets a title of its own. Step two hands the HTML to the browser laid out as **A4 portrait**, renders each page to a canvas and writes it into the PDF as **lossless PNG slices**. Step three has pdf.js draw every page onto a **white-filled canvas** and encode it as JPEG, so exactly one lossy quantisation happens, at the end, with no stacked generations. The costs to state plainly: one image per page is **the browser’s pagination** — Excel’s page breaks, print areas and scaling have no counterpart here; several pages come out as a **ZIP** whose entries are `page-N.jpg`, numbered by document page; and an extreme table has **only a height gate**: past the page-height ceiling the render step fails clearly, while nothing checks width, so columns running past the 800 measure are cropped — split the table first or take Excel to PDF. That the result is pixels also gets said: numbers inside the image cannot be selected or recomputed by Excel — hand data to a program through Excel to CSV or JSON instead. All of it on the storage permission, with no network at all.

一批转换结果卡片,含文件名、体积与下载入口
一次混合批量,一个 ZIP 下载One mixed batch, one ZIP download

这条链路怎么走How the route runs

Excel (.xlsx)Excel (.xlsx) HTMLHTML PDFPDF JPEGJPEG

共 3 步,由扩展的路径搜索自动选出,中间产物不落盘。3 steps, chosen by the extension's own path search; intermediate results never touch the disk.

会保留什么What carries over

  • 读的是算完的值:公式不重算、也不被执行,格子里是什么就画什么It reads computed values: no formula is re-evaluated or executed, and each cell draws what it holds
  • 中间那一趟不损像素:HTML→PDF 写 PNG 无损切片,只有终点 JPEG 是有损编码The middle step costs no pixels: HTML to PDF writes lossless PNG slices, so only the JPEG endpoint is lossy
  • 多表也能走:这条路不经过「JSON 必须是数组」那一步,所以多张表不会被那道闸拦下Many sheets are fine: this route never goes through the «JSON must be an array» step, so several tables are not stopped by that gate
  • 多页出 ZIP,条目名 `page-N.jpg` 的 N 是文档页号Multi-page output is a ZIP with entries `page-N.jpg`, where N is the document page number
  • 一批最多 200 个文件、单个 100 MB,与其他路线共用同一道闸门Up to 200 files per batch and 100 MB each — the same gate every other route shares

如实说明的限制What it does not do

  • 分页由浏览器排版决定:Excel 的分页符、打印区域、缩放与冻结窗格都没有对应物Pagination is the browser’s layout: Excel page breaks, print areas, scaling and frozen panes have no counterpart here
  • 呈现层不进中间那份 HTML:列宽、字体、底色、边框样式都按渲染用的默认版式重画The presentation layer never enters the intermediate HTML: column widths, fonts, fills and borders are redrawn with the renderer’s defaults
  • 终点是有损编码,而且是像素:图里的数字选不中、不能被再算;条件格式完全不出现(读取不带单元格样式),图中的底纹只来自渲染的默认样式The endpoint is lossy and it is pixels: numbers inside the image cannot be selected or recomputed, and conditional formatting never appears at all because the reader does not ask for cell styles — any shading you see comes from the renderer’s defaults
  • 质量与目标尺寸的开关只在有损终点起作用,改不动中间那一趟The quality and target-size controls act only on the lossy endpoint, not on the middle step
  • 要把数据交给程序:走 Excel→CSV / JSON / TXT,那几页交付的是值而不是画面To hand the data to a program: take Excel to CSV, JSON or TXT, which deliver values rather than a picture

实操提示Working with it

  • 要每页一张 WebP:Excel→WebP 是同一条三步链,终点换成有损 WebPFor one WebP per page: Excel to WebP is the same three-step chain with WebP at the end
  • 要一份多页文档:Excel→PDF,中间那一步就是终点、PNG 切片无损For a multi-page document: Excel to PDF, where the middle step becomes the destination and the slices stay lossless
  • 要表格数据本身:Excel→CSV 或 Excel→JSON;多张表时那两条路有各自的规则,页面里写明For the tabular data itself: Excel to CSV or JSON — with several sheets those two routes have their own rules, spelled out on their pages

常见问题Questions people actually ask

公式会被重新计算吗?安全吗?Are my formulas recalculated? Is that safe?

都不会。第一步读的是文件里**已经算完存下来的值**,公式既不会被重算也不会被执行——这一点在导出侧也被防着:会写进 CSV / Excel 文本单元格的值要先过一遍「防公式注入」的前缀处理。你得到的是画面,不是活的表格。Neither. Step one reads the **values already computed and stored** in the file: formulas are not re-evaluated and not executed. The same direction is guarded on export, where values written into CSV or text cells pass through a formula-injection prefix treatment first. What you get is a picture, not a live sheet.

为什么我的排版和 Excel 里看到的不一样?Why does the layout differ from what Excel shows me?

因为中间那一步的排版者是浏览器,不是 Excel。HTML 表格只承载内容与结构,列宽、字号、底色、分页都由渲染用的默认样式与 A4 版式决定;Excel 里的分页符、打印区域和「缩放至一页」在这条链上没有对应物。要保住 Excel 的观感,请在 Excel 里导出 PDF。Because the layout engine in the middle is the browser, not Excel. The HTML table carries content and structure only; column widths, font sizes, fills and page breaks are decided by the renderer’s default styling on A4. Page breaks, print areas and «fit to one page» have no counterpart on this chain. To keep Excel’s look, export a PDF from Excel.

多个工作表会一起出图吗?Do all the sheets come out together?

会一起进那份 HTML(多个表时每个表前有标题行),然后按浏览器分页逐页成图;页数多的结果是 ZIP,条目按文档页号命名。要注意的是**别的路线**:Excel→CSV / JSON 这类经过「只吃数组」那一步的链,在多张表的场合规则不同,具体写在那几页上。They do enter the same HTML (each table preceded by a title when there are several), then page through the browser’s layout one image per page; long results arrive as a ZIP named by document page. What differs is **other routes**: Excel to CSV or JSON goes through a step that accepts arrays only, and multi-table input follows different rules there — spelled out on those pages.

不需要账号,也不需要联网:装好扩展后点图标,在新标签页里打开工作台,文件从磁盘直接选。No account and no network: install the extension, click its icon, and the workbench opens in a new tab reading straight off your disk.