美文网首页
Pywin32操控Excel——3. 打印设置

Pywin32操控Excel——3. 打印设置

作者: JunChen | 来源:发表于2022-08-05 17:37 被阅读0次

导入模块


import win32com.client
import win32con

设置打印区域

worksheet.PageSetup.PrintArea = '$A$1:$C$24'

设置顶端标题行


worksheet.PageSetup.PrintTitleRows = '$1:$1'

设置左侧标题列

worksheet.PageSetup.PrintTitleColumns = '$A:$A'

设置文件方向

  • 横向:win32con.DMORIENT_LANDSCAPE
  • 纵向: win32con.DMORIENT_PORTRAIT
worksheet.PageSetup.Orientation = win32con.DMORIENT_LANDSCAPE  # 横向

设置缩放比例(这边不需要填%)

worksheet.PageSetup.Zoom = 80

设置N页宽,N页高

需要先把Zoom关掉,设置成False,才能设置。

worksheet.PageSetup.Zoom = False
worksheet.PageSetup.FitToPagesWide = 1
worksheet.PageSetup.FitToPagesTall =2

设置数据居中方式

  • 水平居中方式:CenterHorizontally
  • 垂直居中方式:CenterVertically

worksheet.PageSetup.CenterHorizontally = True
worksheet.PageSetup.CenterVertically = True

打印工作表

openpyxl可以设置打印参数,但是没有打印操作,这也是我出这篇的目的,弥补openpyxl的不足。


worksheet.PrintOut()

综合实例


import win32com.client
import win32con


excelApp = win32com.client.Dispatch('Excel.Application')

excelApp.Visible = False

excelApp.DisplayAlerts = False

wb = excelApp.Workbooks.Open(r'C:\Users\12717\Desktop\test.xlsx')

ws = wb.Activesheet

ws.PageSetup.PrintArea = '$A$1:$C$24'

ws.PageSetup.PrintTitleRows = '$1:$1'

ws.PageSetup.PrintTitleColumns = '$A:$A'

ws.PageSetup.Orientation = win32con.DMORIENT_LANDSCAPE  # 横线

ws.PageSetup.Zoom = False
ws.PageSetup.FitToPagesWide = 1
ws.PageSetup.FitToPagesTall =2

ws.PageSetup.CenterHorizontally = True
ws.PageSetup.CenterVertically = True


wb.Save()

excelApp.Quit()

相关文章

网友评论

      本文标题:Pywin32操控Excel——3. 打印设置

      本文链接:https://www.haomeiwen.com/subject/krsywrtx.html