程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python+Excel系列:案例六:批量打印工作簿、批量打印多個工作簿中的指定工作表

編輯:Python

文章目錄

  • 批量打印工作簿
  • 批量打印多個工作簿中的指定工作表

批量打印工作簿

專門用於打印的函數PrintOut()

import os #導入os模塊
import xlwings as xw #導入xlwings模塊
file_path = 'e:/table' #給出要打印的工作簿所在的文件夾路徑
file_list = os.listdir(file_path) #列出文件夾下所有文件和子文件夾的名稱
app = xw.App(visible=False,add_book=False)
for i in file_list:
if i.startswith('~$'):# 判斷是否有文件名以“~$”開頭的文件
continue # 如果有,則跳過這種類型的文件
file_paths = os.path.join(file_path,i) #獲取需要打印的工作簿的文件路徑
workbook = app.books.open(file_paths) #打開要打印的工作簿
workbook.api.PrintOut() #打印工作簿
app.quit()

因為xlwings模塊沒有提供打印工作簿的函數,所以第11行代碼利用工作簿對象的api屬性調用VBA的PrintOut()函數來打印工作簿,該函數的語法格式和常用參數含義如下:

PrintOut(From,To,Copies,Preview,ActivePrinter,PrintToFile,Collate,PrToFile)

批量打印多個工作簿中的指定工作表

import os #導入os模塊
import xlwings as xw #導入xlwings模塊
file_path = 'e:/table' #給出要打印的工作簿所在的文件夾路徑
file_list = os.listdir(file_path) #列出文件夾下所有文件和子文件夾的名稱
sheet_name = 'sheetX' #給出要打印的工作表的名稱
app = xw.App(visible=False,add_book=False)
for i in file_list:
if i.startswith('~$'):# 判斷是否有文件名以“~$”開頭的文件
continue # 如果有,則跳過這種類型的文件
file_paths = os.path.join(file_path,i) #獲取需要打印的工作簿的文件路徑
workbook = app.books.open(file_paths) #打開要打印的工作簿
for j in workbook.sheets:
if j.name == sheet_name: #判斷工作簿中是否存在名為“sheetX”的工作表
j.api.PrintOut() #如果存在,則打印該工作表
break
app.quit()

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved