300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 用Python的xlwings模块批量打印工作簿

用Python的xlwings模块批量打印工作簿

时间:2020-10-27 14:33:06

相关推荐

用Python的xlwings模块批量打印工作簿

使用Python的xlwings模块批量打印工作簿

使用Python的xlwings模块和vba对Excel的工作簿进行批量的打印

格式:workbook.PrintOut(From、 To、副本、 Preview、 ActivePrinter、 PrintToFile、 Collate、 PrToFileName、 IgnorePrintAreas)

表达式一个代表工作簿 对象的变量。

参数:

名称 必需/可选 数据类型 说明

From 可选 Variant 打印的开始页号。 如果省略此参数,则从起始位置开始打印。

To 可选 Variant 打印的终止页号。 如果省略此参数,则打印至最后一页。

Copies 可选 Variant 打印份数。 如果省略此参数,则只打印一份。

Preview 可选 Variant 如果为 True,Microsoft Excel 将在打印对象之前调用打印预览。 如果为 False(或省略该参数),则立即打印对象。

ActivePrinter 可选 Variant 设置活动打印机的名称。

PrintToFile 可选 Variant 如果为 True,则打印到文件。 如果没有指定 PrToFileName,Microsoft Excel 将提示用户输入要使用的输出文件的文件名。

Collate 可选 Variant 如果为 True,则逐份打印多个副本。

PrToFileName 可选 Variant 如果将PrintToFile设置为True, 则此参数指定要打印到的文件的名称。

IgnorePrintAreas 可选 Variant 如果为 True,则忽略打印区域并打印整个对象。

import os # 导入os模块import xlwings as xw # 导入xlwings模块file_path = 'E:\\pythonExample\\01' # 定义工作簿所在的文件夹路径file_list = os.listdir(file_path) # 列出指定路径下的文件及文件夹名称sheet_name = '产品销售区域' # 定义工作簿名中新的工作表名称file_type = ['.xlsx','.xls'] # 定义文件类型列表,用于判断是否为excel文件app = xw.App(visible=True, add_book=False)for i in file_list:# 判断是否有文件名为“~$”开头的临时文件,startswith(substr,beg,end)if i.startswith('~$'):continue # 如果有,则跳过这种类型的文件# 拼接工作簿中新的工作表的文件路径file_paths = os.path.join(file_path, i)# 判断是否为Excel文件,通过扩展名.xls和.xlsx判断file_ext = os.path.splitext(i)[1]# 判断是不是文件且为excel文件if (os.path.isfile(file_paths)) and (file_ext in file_type):wb = app.books.open(file_paths) # 打开工作簿wb.api.PrintOut() # 打印工作薄# wb.api.PrintOut(From=1,To=1,Copies=1,Preview=True) # 打印工作薄else:print('文件名为:%s的文件不是excel文件!' %i)continueapp.quit()

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

import os # 导入os模块import xlwings as xw # 导入xlwings模块file_path = 'E:\\pythonExample\\01' # 定义工作簿所在的文件夹路径file_list = os.listdir(file_path) # 列出指定路径下的文件及文件夹名称sheet_name = '产品分类表' # 定义工作簿名中新的工作表名称file_type = ['.xlsx','.xls'] # 定义文件类型列表,用于判断是否为excel文件app = xw.App(visible=True, add_book=False)for i in file_list:# 判断是否有文件名为“~$”开头的临时文件,startswith(substr,beg,end)if i.startswith('~$'):continue # 如果有,则跳过这种类型的文件# 拼接工作簿中新的工作表的文件路径file_paths = os.path.join(file_path, i)# 判断是否为Excel文件,通过扩展名.xls和.xlsx判断file_ext = os.path.splitext(i)[1]# 判断是不是文件且为excel文件if (os.path.isfile(file_paths)) and (file_ext in file_type):wb = app.books.open(file_paths) # 打开工作簿for j in wb.sheets:if j.name == sheet_name: # 判断工作簿中的工作表是否为要打印的表名称print(j.name)wb.api.PrintOut('','','',Preview=True) # 打印工作薄breakelse:print('文件名为:%s的文件不是excel文件!' %i)continueapp.quit()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。