XLSX转PDF时显示Gridline(网格线)问题如何解决?
导出Excel为PDF隐藏网格线的解决方法
基于现有xlwings库的方案(改动最小,无需换库)
xlwings本质是调用Excel原生的导出能力,默认会继承Excel工作表的网格线显示设置,只需要在导出前临时关闭所有工作表的网格线即可,且不会修改原模板文件的配置,修改后代码如下:
import xlwings as xw with xw.App(visible=False) as app: wb = app.books.open('Template.xlsx') # 遍历工作簿内所有工作表,关闭网格线显示 for sheet in wb.sheets: sheet.api.DisplayGridlines = False # 直接导出PDF,全程不保存工作簿,原模板的网格线设置不受影响 wb.to_pdf('test.pdf')
无Excel环境备选方案(需切换第三方库)
如果你需要在没有安装Excel的设备上运行,可以搭配openpyxl+LibreOffice实现跨平台导出:
- 用
openpyxl读取模板文件,遍历所有工作表配置sheet.views.sheetView[0].showGridLines = False - 保存为临时Excel文件
- 调用LibreOffice无头模式命令导出PDF:
libreoffice --headless --convert-to pdf 临时文件路径 - 导出完成后删除临时文件即可
内容的提问来源于stack exchange,提问作者Jorge Creus
相关产品推荐
相关产品推荐

