Excel 转 PDF 工具
上传 Excel 表格,一键转换为 PDF 格式
拖放 Excel 文件到此处,或点击选择文件
支持 .xlsx、.xls 和 .ods 格式
什么是 Excel 转 PDF?
Excel 转 PDF 是一款在线表格格式转换工具,能将 Microsoft Excel 的 .xlsx、.xls 文件和 OpenDocument 的 .ods 文件快速转换为 PDF。PDF 格式能完整保留表格的列宽、单元格样式、图表和公式排版,无论在什么设备上打开都不会跑版,特别适合需要打印或分享的正式报表。工作中经常需要把 Excel 表格转成 PDF:财务报表发给领导审阅、报价单发给客户确认、数据汇总表存档备份、考勤表打印张贴……直接发 Excel 文件容易被修改,转成 PDF 就不用担心数据被篡改了。文件处理完成后立即从服务器删除,不必担心数据外泄。
使用方法
使用步骤
- 点击上传区域或将 Excel 文件拖入,支持 .xlsx、.xls 和 .ods 格式
- 点击「转换为 PDF」,服务器将在数秒内处理文件
- 处理完成后,点击「下载 PDF」将文件保存到本地
- 需要继续转换其他文件?点击「转换另一个文件」重新开始
布局检查
- 建议在转换前在电子表格中设置好打印区域、分页符、缩放比例和纸张方向。
- 转换后请检查宽表、冻结窗格、图表和隐藏行是否显示正常。
使用场景
技术原理
转换流程会读取上传的工作簿(.xlsx、.xls 或 .ods),遍历每个工作表的已使用区域,并在服务端把结果渲染为 PDF 文档。现代 Excel 文件是 OOXML 容器(ECMA-376 / ISO/IEC 29500):一个 .xlsx 实际是 ZIP 压缩包,里面 xl/worksheets/sheetN.xml 对应每张工作表,xl/styles.xml 保存单元格格式,xl/sharedStrings.xml 存放去重后的文本,[Content_Types].xml 与 _rels/ 则记录关系元数据。早期的 .xls 文件在 OLE 复合文档(MS-CFB)中使用 BIFF 二进制记录格式,而 .ods 文件遵循 ODF 规范(ISO/IEC 26300),同样采用 ZIP+XML 布局。每个 PDF 页面使用标准 A4(210 × 297 mm = 595.28 × 841.89 pt,72 dpi)或 US Letter(8.5 × 11 in = 612 × 792 pt)尺寸;横向布局只是在排版开始前交换宽高。 单位换算贯穿整个流程。PDF 使用 PostScript 磅(1 pt = 1/72 in = 0.352 778 mm),Excel 列宽以默认字体的字符数表示(默认 Calibri 11,在 96 dpi 下每字符约 7 px 或约 5.25 pt),CSS 像素按 96 dpi 计算。因此将 100 像素的列转换为 PDF 磅为 100 × (72 / 96) = 75 pt,1 英寸的打印边距恰好是 72 pt。长字符串会按当前字体的度量信息在空白处换行,对于 URL、哈希等无间断字符串,则回退到词中断行作为兜底。当内容超出页面时,渲染器会自动插入分页,并可在每页重复表头行、页码与工作表名称。 字体嵌入是影响保真度的主要陷阱。输出 PDF 必须要么嵌入工作簿实际使用的字体子集(Type 0 CID 字体携带嵌入的 TrueType 程序,依据 PDF 规范 9.6.5 节),要么在渲染时使用回退字体。如果工作簿原本使用 Calibri、SimSun 或 MS YaHei,但渲染服务器未安装这些字体,则会回退到 Liberation Sans 或 DejaVu,从而打乱换行位置和溢出边界。服务端转换通常运行无头模式的 LibreOffice(`soffice --headless --convert-to pdf input.xlsx --outdir /tmp`)、Windows 平台上的 Microsoft Excel COM 自动化,或 Aspose.Cells 等商业库。工作簿中的图表会以静态矢量形状在 PDF 内重新绘制,公式只显示上次保存的缓存值而不会重新计算,合并单元格、冻结窗格与隐藏行则跟随工作簿自身的打印布局设置。文件上传到 ToolAct 的服务端转换引擎,PDF 返回后立即从服务器删除。
- OOXML 容器:.xlsx 是 ZIP 包,依据 Open Packaging Convention(ECMA-376 / ISO/IEC 29500)容纳 xl/worksheets/sheetN.xml、xl/styles.xml、xl/sharedStrings.xml;早期 .xls 在 MS-CFB 内使用 BIFF;.ods 遵循 ISO/IEC 26300 ODF。
- 页面尺寸:A4 = 210 × 297 mm = 595.28 × 841.89 pt;US Letter = 8.5 × 11 in = 612 × 792 pt;PDF 单位为 PostScript 磅(1 pt = 1/72 in)。
- 单位换算:CSS px → pt = px × 72/96(如 100 px = 75 pt);1 in 边距 = 72 pt;1 mm ≈ 2.835 pt;`worksheet['!cols']` 中的 Excel 列宽以默认字体的字符宽度计(Calibri 11 ≈ 7 px ≈ 5.25 pt/字符)。
- 字体保真:嵌入 TrueType 子集的 PDF Type 0 CID 字体(规范 9.6.5 节)能保留 CJK 字形定位;缺失字体会回退到 Liberation Sans / DejaVu,破坏换行位置;PDF/A 归档(ISO 19005)则强制要求完整嵌入。
- 转换引擎:无头 LibreOffice(`soffice --headless --convert-to pdf`)、Windows 上的 Microsoft Excel COM 自动化,或 Aspose.Cells 等商业库。图表变为静态矢量形状;公式显示上次保存的缓存值,而非重新计算。
- 分页来自工作簿的打印布局:打印区域、分页预览、纸张大小、方向以及「适应到一页」缩放都会延续;合并单元格、冻结窗格和隐藏行也按相同设置处理。
- 文件上传至 ToolAct 服务端转换引擎,PDF 返回后立即从服务器删除。
示例
转换财务报告工作簿
输入: quarterly_report.xlsx (245 KB,4 张工作表,12 个嵌入图表)
输出: quarterly_report.pdf (转换后 612 KB)
PDF 输出的工作表分布:
第 1- 3 页:Sheet1 'P&L' (单张工作表跨页渲染)
第 4- 7 页:Sheet2 'Balance Sheet' (第 50 行处分页)
第 8-10 页:Sheet3 'Cash Flow' (第 38 行处分页)
第 11-13 页:Sheet4 'Notes' (启用长文本换行)
工作簿中的图表(柱状图、折线图、饼图)会被栅格化为 PDF 内的
矢量形状,因此可以 300 dpi 打印且无需重新渲染。公式只显示
上一次保存时的计算值,而非计算链——必须在保存 .xlsx 时
保留计算结果,PDF 中才会显示数字。客户签字用的报价单转换
输入: quote_acme_2026Q2.xlsx (38 KB,1 张工作表,24 行明细)
输出: quote_acme_2026Q2.pdf (转换后 112 KB)
应用的转换设置:
纸张大小:A4(595.28 x 841.89 pt)
方向: 横向(842 x 595 pt)—— 交换宽高以容纳 12 列
页边距: 上 72 pt(1 英寸),下 72 pt,左 54 pt,右 54 pt
缩放: 「全部列适应一页」(100% → 84% 以容纳宽度)
结果:24 行 x 12 列在 2 页内整齐排版,且重复显示表头。
发送 PDF 而非 .xlsx 可锁定单价和数量,避免客户在签字前
意外修改任何数字。通过体积和格式检查审核转换结果
工作簿 1:monthly_kpi.xlsx (1.2 MB,无图片)
工作簿 2:catalog.xlsx (1.4 MB,嵌入 200 张产品图)
工作簿 3:tiny.xlsx (8 KB,5 行)
各转换结果:
monthly_kpi.xlsx -> monthly_kpi.pdf (1.5 MB) 比例 1.25 倍 OK
catalog.xlsx -> catalog.pdf (8.7 MB) 比例 6.2 倍 WARN
tiny.xlsx -> tiny.pdf (32 KB) 比例 4.0 倍 OK
目录 PDF 是源文件的 6.2 倍,因为 200 张产品图会以 JPEG 流
重新嵌入 PDF。比例超过约 3 倍时,建议先打开 PDF 检查
效果再分享——隐藏工作表、大面积图片填充或解析失败
通常都会以异常的体积变化表现出来。常见问题
我的表格会留在本机吗?
不会。文件会上传到我们的转换服务器,在服务端渲染成 PDF 后再返回供你下载。文件处理完成后立即从服务器删除。即便如此,仍建议避免上传商业机密报表、薪资表等敏感数据,作为额外的预防措施。
支持哪些表格格式?
上传区域接受 .xlsx(Excel 2007+)、.xls(Excel 97-2003)和 .ods(OpenDocument)。Numbers、Google 表格、WPS 等工具的文件只要先导出成上述三种格式之一即可。
为什么图表或公式在 PDF 中显示不一样?
服务端按上次保存的状态渲染单元格:公式只显示缓存值,不会重新计算;图表被栅格化;过宽的表格可能跨页拆分。建议在上传前于 Excel 中设置好打印区域、缩放与方向,以掌控分页效果。
分页是如何决定的?
分页依据工作簿自身的打印布局:打印区域、分页预览、纸张大小、方向以及「调整为一页」缩放都会保留。如果某张工作表横向超出一页,转换器通常会输出多页,而不是把列压缩到看不清。
隐藏的工作表、批注和冻结窗格会包含进来吗?
隐藏的工作表与隐藏的行/列通常会被忽略;单元格批注与备注不会嵌入 PDF;冻结窗格不会在每页重复显示。如果需要表头在每页重复,请在上传前在 Excel 中设置「顶端标题行」。
中日韩文本能否正确显示?
可以。服务器装有 CJK 字体,多语言报告不会出现缺字方块。如果文件使用了服务器没有的特殊字体,会回退到相近字体,间距可能略有变化。
有文件大小限制吗?
超大工作簿(数百 MB、嵌入大量图片或上千行图片)可能超时或被拒。如果转换失败,可尝试删除无用工作表、压缩内嵌图片,或先拆分工作簿再重试。