Excel转PDF有四种方法:一、“另存为”单文件转换;二、“打印”功能导出选定区域;三、VBA宏批量导出多工作表;四、Power Query联合PowerShell批量处理多个Excel文件。

如果您需要将Excel文件转换为PDF格式,或者希望一次性将多个工作表批量导出为PDF,可通过内置功能或辅助操作实现。以下是具体执行步骤:
一、使用Excel“另存为”功能单个转换
该方法适用于仅需将当前活动工作表或整个工作簿保存为单一PDF文件的场景,操作直接且无需额外工具。
1、打开目标Excel文件,确保要导出的内容已正确显示在当前视图中。
2、点击左上角“文件”选项卡,选择“另存为”。
3、在“保存位置”中选择目标文件夹,在“文件名”栏输入PDF文件名称。
4、在“保存类型”下拉菜单中,选择PDF (*.pdf)。
5、点击“工具”按钮(位于“保存”按钮旁),选择“常规选项”,可勾选“文档属性中保存缩略图”以增强PDF识别性(非必需)。
6、点击“保存”,Excel将自动渲染并生成PDF文件。
二、通过“打印”功能导出选定区域为PDF
此方式支持精确控制输出范围,例如仅导出选中单元格、特定行/列或某个数据透视表,避免无关内容被包含。
1、在工作表中用鼠标拖选需要导出的单元格区域。
2、按Ctrl + P打开打印设置界面。
3、在“打印机”选项中选择Microsoft Print to PDF(Windows系统默认虚拟打印机)。
4、在“页面设置”中确认“打印选定区域”已被启用。
5、点击“打印”,在弹出窗口中指定PDF保存路径与名称,点击“保存”完成导出。
三、使用VBA宏实现多工作表批量转PDF
当工作簿含多个工作表且需各自生成独立PDF时,手动操作效率低,VBA脚本可一次性遍历全部工作表并分别导出。
1、按Alt + F11打开VBA编辑器。
2、在左侧工程资源管理器中,右键“Normal”或当前工作簿名称,选择“插入”→“模块”。
3、在新模块窗口中粘贴以下代码:
Sub ExportAllSheetsToPDF()
Dim ws As Worksheet
Dim filePath As String
filePath = ThisWorkbook.Path & "\"
For Each ws In ThisWorkbook.Worksheets
ws.ExportAsFixedFormat Type:=xlTypePDF, FileName:=filePath & ws.Name & ".pdf"
Next ws
End Sub
4、关闭VBA编辑器,返回Excel,按Alt + F8调出宏列表,选中“ExportAllSheetsToPDF”,点击“运行”。
5、所有工作表将按名称逐一生成PDF文件,并保存在原Excel文件所在文件夹中。
四、借助Power Query+导出插件批量处理多个Excel文件
若需将分散在不同文件夹中的多个Excel文件统一转为PDF,可结合Power Query预处理结构后,调用外部工具或批处理命令执行导出。
1、新建空白Excel工作簿,进入“数据”选项卡,点击“获取数据”→“从文件”→“从文件夹”。
2、选择含所有待处理Excel文件的根目录,点击“确定”,Power Query将列出全部.xlsx文件元数据。
3、删除不需要的列(如Date accessed、Folder Path等),保留“Content”和“Name”列。
4、对“Content”列点击右侧展开按钮,勾选“Use original column name as prefix”,取消勾选“Transform File”。
5、关闭并上载查询结果后,在新工作表中每行代表一个源Excel文件,此时需配合PowerShell脚本调用Excel COM对象进行后台导出。
6、在Windows搜索栏输入“PowerShell”,右键以管理员身份运行,输入以下命令(需提前替换路径):
Get-ChildItem "C:\Source\*.xlsx" | ForEach-Object { $xl = New-Object -ComObject Excel.Application; $wb = $xl.Workbooks.Open($_.FullName); $pdfPath = $_.DirectoryName + "\" + $_.BaseName + ".pdf"; $wb.ExportAsFixedFormat(0, $pdfPath); $wb.Close(); $xl.Quit() }



















