ToolAct工具行动

Excel 转 PDF 工具

上传 Excel 表格,一键转换为 PDF 格式

上传表格

拖放 Excel 文件到此处,或点击选择文件

支持 .xlsx、.xls 和 .ods 格式

什么是 Excel 转 PDF?

Excel 转 PDF 是一款在线表格格式转换工具,能将 Microsoft Excel 的 .xlsx、.xls 文件和 OpenDocument 的 .ods 文件快速转换为 PDF。PDF 格式能完整保留表格的列宽、单元格样式、图表和公式排版,无论在什么设备上打开都不会跑版,特别适合需要打印或分享的正式报表。工作中经常需要把 Excel 表格转成 PDF:财务报表发给领导审阅、报价单发给客户确认、数据汇总表存档备份、考勤表打印张贴……直接发 Excel 文件容易被修改,转成 PDF 就不用担心数据被篡改了。文件处理完成后立即从服务器删除,不必担心数据外泄。

使用方法

使用步骤

  1. 点击上传区域或将 Excel 文件拖入,支持 .xlsx、.xls 和 .ods 格式
  2. 点击「转换为 PDF」,服务器将在数秒内处理文件
  3. 处理完成后,点击「下载 PDF」将文件保存到本地
  4. 需要继续转换其他文件?点击「转换另一个文件」重新开始

布局检查

  • 建议在转换前在电子表格中设置好打印区域、分页符、缩放比例和纸张方向。
  • 转换后请检查宽表、冻结窗格、图表和隐藏行是否显示正常。

使用场景

将表格工作簿转为单个 PDF 文件上传 .xlsx、.xls 或 .ods 文件,服务器会将每个工作表渲染为分页的 PDF。结果面板显示原始格式、转换格式、源文件大小、输出大小和体积变化比率,方便确认转换是否正常完成。工作簿中定义的图表会被重新渲染为 PDF 内的静态矢量形状,命名区域在输出中仍作为引用可见,只是不再具有交互性。
保存前检查转换元数据转换完成后,比较原始文件和转换后文件的大小及格式,排查可疑输出。PDF 体积异常膨胀通常意味着隐藏工作表、嵌入对象或大面积图片填充被包含在内;体积接近零则说明解析失败,值得重新上传。体积变化超过约 3 倍时,建议打开 PDF 检查是否有内容缺失或重复后再分享。
当浏览器端渲染不够用时使用本工具当接收方需要表格的固定 PDF 版本时,本工具是合适的选择。服务器负责繁重的排版工作,下载后请预览确认文件表现符合预期,同时保留 .xlsx 原文件,以防有人需要重新核算数字或追溯公式的来源单元格。
注意打印区域和分页符设置PDF 渲染不一定会遵循 Excel 的手动分页符,因此宽幅报表可能在页面间出现不合理的断行。先在 Excel 中设置好打印区域、缩放比例和纸张方向,再重新上传,以保持多节报表的可读性。在打印对话框中切换「将工作表调整为一页」和「将所有列调整为一页」通常是预览 PDF 效果的最快方式。
留意宽幅工作簿的适应模式按页宽适应会将所有列压缩到一页,较长的数字字段可能被缩小到难以辨认;按列宽适应则保留原始宽度,但可能溢出到额外页面。冻结窗格、隐藏列和溢出的单元格文字往往无法完整迁移,因此在重新转换前请在 Excel 中仔细设置工作表。最稳妥的做法是取消隐藏所有需要的列、为每个区域设置固定打印区域,并确认长文本单元格在导出前已正确换行。

技术原理

转换流程会读取上传的工作簿(.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、嵌入大量图片或上千行图片)可能超时或被拒。如果转换失败,可尝试删除无用工作表、压缩内嵌图片,或先拆分工作簿再重试。