python与excel第五节 打印excel

news/2024/7/21 7:40:02 标签: python, excel, 开发语言, 打印

批量打印工作表

import os
import xlwings as xw
file_path =
'D:\\TEST\\pythonexcel'
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)

# 打印工作簿;xlwings模块没有提供打印工作簿的函数,利用工作簿对象的api属性调用VBAPrintOut()函数来打印工作簿
   
print(i)
   
# workbook.api.PrintOut()
    # workbook.api.PrintOut(From=1,To=3,Copies=1,Preview=True,PrintToFile=True,PrToFileName='
测试文件')
   
workbook.api.PrintOut(From=1,To=1,Copies=1,Preview=True,PrintToFile=True,PrToFileName='测试文件')
   
# workbook.api.PrintOut(Preview=True,From=1,Copies=1)
app.quit()

上面xlwings.api.vba方法可以直接调用vba中方法。

vba中Printout方法说明:

语法格式:

expression.PrintOut (FromToCopiesPreviewActivePrinterPrintToFileCollatePrToFileNameIgnorePrintAreas)

Name

Required/Optional

Description

From

可选

数字类型,打印的起始页,如果为空则从开始页打印

To

可选

数字类型,打印的结束页,如果为空则打印到最后一页

Copies

可选

数字类型,设置打印几份,如果为空则打印一份。

Preview

可选

布尔类型,默认False。为True时打印前先预览,False时直接打印

ActivePrinter

可选

设置用于本次打印打印机名称,如果为空则用系统指定打印机执行。

PrintToFile

可选

布尔类型,默认False。为True时,则打印到prn文件,不打印到到打印机。False时打印到 打印机。如果为True且PrToFileName参数没有指定,则系统会提示输入文件名称。

Collate

可选

布尔类型,默认为True,为True时逐份打印多个副本。

PrToFileName

可选

字符类型,当PrintToFile参数为True时,该参数指定prn文件的名称。

IgnorePrintAreas

可选

布尔类型,为True时忽略excel中的打印区域设置,直接打印整个文件。

注意1:From和To参数指定的打印起始页并非excel文件中的起始页或者终止页,而是打印打印打印的起止页,即手工打印时设置的起止页码。

注意2:这个语句:workbook.api.PrintOut(From=1,To=1,Copies=1,Preview=True,PrintToFile=True,PrToFileName='测试文件')有的时候打印不出来,这时候考虑一下是否是起始页、终止页、预览几个参数的设置问题。也有可能是系统打印机设置的问题。


http://www.niftyadmin.cn/n/5445950.html

相关文章

原生html vue3使用element plus 的树tree上移下移案例源码

上效果 本树做一些限制,只能同级上下移。子级添加只能最大2级,限制判断用allow-drop事件 :allow-drop"allowDrop" if (type inner) return false //只能同级拖拽 if (draggingNode.level > categoryInfo.maxLevel) return false …

ExoPlayer架构详解与源码分析(11)——DataSource

系列文章目录 ExoPlayer架构详解与源码分析(1)——前言 ExoPlayer架构详解与源码分析(2)——Player ExoPlayer架构详解与源码分析(3)——Timeline ExoPlayer架构详解与源码分析(4)—…

WPF 立体Border

WPF 立体Border &#xff0c;用来划分各个功能区块 在资源文件中&#xff0c;添加如下样式代码&#xff1a; <Style x:Key"BaseBorder" TargetType"Border"><Setter Property"Background" Value"White" /><Setter Prop…

vue项目:使用xlsx导出Excel数据

文章目录 一、安装xlsx二、报错及解决三、编写公共方法四、方法使用 一、安装xlsx 执行命令&#xff1a;npm i xlsx file-saver --save 二、报错及解决 使用时&#xff1a;import XLSX from "xlsx"; 发现如下报错信息 报错原因&#xff1a;xlsx版本不兼容。 解…

Python Flask框架 -- 模版继承

一个网站中&#xff0c;大部分网页的模块是重复的&#xff0c;比如顶部的导航栏&#xff0c;底部的备案信息。如果在每个页面中都重复的去写这些代码&#xff0c;会让项目变得臃肿&#xff0c;提高后期维护成本。比较好的做法是&#xff0c;通过模板继承&#xff0c;把一些重复…

vue 消息左右滚动(前后无缝衔接)

演示效果 封装的组件 <!--* Author:* Date: 2024-03-21 19:21:58* LastEditTime: 2024-03-21 20:31:50* LastEditors: Please set LastEditors* Description: 消息左右滚动 --> <template><divid"textScroll"class"text-scroll"mousemove&…

linux sh脚本编写

linux中bash Shell 是 Linux 的核心部分&#xff0c;它允许你使用各种诸如 cd、ls、cat 等的命令与 Linux 内核进行交互。Bash脚本和Shell脚本实际上是指同一种类型的脚本&#xff0c;只不过Bash是其中最常用的一种Shell。除了Bash之外&#xff0c;常见的Shell解释器还有C She…

Oh My Bug || PHPmyAdmin导入csv文件时,502报错

解决&#xff1a; 在宝塔面板文件配置中加入一下代码 location / { proxy_pass http://localhost:888; } location /backend-api { rewrite ^/backend-api(.*)$ $1 break; proxy_pass http://你的ip地址; }