FreePDF logoFreePDF

Excel 转 PDF 列显示不全、被分到好几页?这样调

来自 FreePDF 团队 ·

表格在 Excel 里看着好好的,一转成 PDF,第 1 页只有 A 到 H 列,I 到 M 列要翻到第 5 页才出现,还单独占一页,跟前面的行完全对不上。这不是转换出了错。转换器是照着工作簿里保存的页面设置在「打印」,而新建的 Excel 工作表默认就是纵向、100% 缩放、没设打印区域。表格一宽,一页自然装不下。

问题得在 Excel 里解决

我们的 Excel 转 PDF 用 LibreOffice 渲染文件,它的做法跟打印机差不多:纸张方向、纸张大小、页边距、缩放比例、打印区域,还有你手动插入的分页符,全都从文件本身读取。在 Excel 里改好、保存,PDF 就会跟着变。

有一点要注意:只在 Excel 打印窗口里临时选的设置,比如「打印选定区域」或「忽略打印区域」,不会存进工作簿,转换时也就读不到。

页面顺序为什么这么怪,也有原因。表格又宽又长时,默认的打印顺序是「先列后行」:先往下把 A 到 H 列的所有行打完,再回头打 I 列以后的部分。所以右边那几列看着像是丢了,其实都排在最后。

转换前先把版面调好

  1. 打开「视图 → 分页预览」。蓝色的线就是每一页的边界,哪几列会被切到下一页,一眼就能看出来。
  2. 点「页面布局 → 纸张方向 → 横向」。不少表格光改这一步就够了。
  3. 在同一个选项卡的「调整为合适大小」里,把「宽度」设成 1 页,「高度」保持「自动」。Excel 会缩到刚好放下所有列,行多就往后续页,需要几页就几页。
  4. 选中真正要给别人看的区域,再点「页面布局 → 打印区域 → 设置打印区域」。
  5. 保存工作簿,然后上传。

长表格千万别把宽度和高度都设成 1 页。整张表会被压进一页,字小得根本没法看。

缩到能看清的大小,还是太宽?

  • 把对方用不上的列隐藏起来,比如内部编号、中间计算列。隐藏的列不会出现在 PDF 里。
  • 页边距改成「窄」。表头文字特别长的列,设成自动换行,列宽就能收窄不少。
  • 「页面布局 → 纸张大小」换成 A3,空间会大很多。不过前提是对方手边真有能打 A3 的打印机,不然还是老老实实用 A4。
  • 表格跨好几页的话,打开「页面布局 → 打印标题」,在「顶端标题行」里选上表头那一行,之后每一页顶部都会带着表头。

多出来的那几页是哪来的

工作簿里每一张可见的工作表都会被转换,而且每张都从新的一页开始。忘了删的「备注」表、以前留下的草稿表,都会跟在 PDF 最后面。删掉或者隐藏就行,隐藏的工作表会被跳过。

如果冒出空白页,或者只有一两个格子的页,通常是表格外很远的地方还有东西:AB 列里随手敲过的一个数,或者有人给几百行以下的单元格设过格式。按 Ctrl+End,看看 Excel 认为表格最后一个单元格在哪儿,把那里清掉。嫌麻烦的话,直接设一个打印区域也能解决。

字体也会让版面挪一点

LibreOffice 没有微软的字体。像 Calibri、Cambria 这种常用字体,有字宽一致的替代字体,宽度基本能对上。冷门一点的字体可能被换成稍宽的,在 Excel 里刚好卡满一页的表,最后一列就会被挤到下一页。中文字体也一样,等线、微软雅黑、宋体在服务器上都没有,会换成已安装的其他中文字体,字宽未必完全一致。要发成 PDF 的表,列宽别卡得太死,留一点余量更稳。

常见问题

一个工作簿里只想转其中一张表,怎么办?

我们这边没有选择工作表的选项,得在 Excel 里先处理好。可以把其他表都隐藏;也可以右键点这张表的标签,选「移动或复制」,勾上「建立副本」,工作簿选「(新工作簿)」,把新文件保存下来再转换。

对方要的是数据,不是打印稿,怎么办?

能直接发 .xlsx 就发原文件。如果对方手上只有 PDF,可以用 PDF 转 Excel 把每个表格还原到单独的工作表里,总比一格一格重新录入省事。

相关免费工具