使用 python 打印 Excel 工作簿

2023-12-07

假设我有一个excel文件excel_file.xlsx我想使用 Python 将其发送到我的打印机,所以我使用:

import os
os.startfile('path/to/file','print')

我的问题是,这仅打印 Excel 工作簿的第一张工作表,但我希望打印所有工作表。有没有办法打印整个工作簿?

另外,我用过Openpyxl创建文件,但似乎没有任何选项来选择打印页数。

任何帮助将不胜感激。


from xlrd import open_workbook
from openpyxl.reader.excel import load_workbook
import os
import shutil

path_to_workbook = "/Users/username/path/sheet.xlsx"
worksheets_folder = "/Users/username/path/worksheets/"
workbook = open_workbook(path_to_workbook)


def main():

    all_sheet_names = []
    for s in workbook.sheets():
        all_sheet_names.append(s.name)

    for sheet in workbook.sheets():

        if not os.path.exists("worksheets"):
            os.makedirs("worksheets")

        working_sheet = sheet.name

        path_to_new_workbook = worksheets_folder + '{}.xlsx'.format(sheet.name)

        shutil.copyfile(path_to_workbook, path_to_new_workbook)

        nwb = load_workbook(path_to_new_workbook)

        print "working_sheet = " + working_sheet

        for name in all_sheet_names:

            if name != working_sheet:
                nwb.remove_sheet(nwb.get_sheet_by_name(name))

        nwb.save(path_to_new_workbook)

    ws_files = get_file_names(worksheets_folder, ".xlsx")

    # Uncomment print command
    for f in xrange(0, len(ws_files)):
        path_to_file = worksheets_folder + ws_files[f]
        # os.startfile(path_to_file, 'print')
        print 'PRINT: ' + path_to_file

    # remove worksheets folder
    shutil.rmtree(worksheets_folder)


def get_file_names(folder, extension):
    names = []
    for file_name in os.listdir(folder):
        if file_name.endswith(extension):
            names.append(file_name)
    return names


if __name__ == '__main__':
    main()

可能不是最好的方法,但它应该有效。 作为一种解决方法,您可以创建单独的 .xlsx 文件,其中每个文件只有一个电子表格,然后使用os.startfile(path_to_file, 'print')

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 python 打印 Excel 工作簿 的相关文章

  • NodeJS Express Windows 最大连接数设置

    在哪里设置nodejs的最大连接数 用于使用express get 在 Windows 10 中 与linux中的最大文件 描述符 设置有关吗 有该设置的 Windows 版本吗 最好是在nodejs中进行设置 以便在迁移到unix时兼容
  • 无法使用 VBA 代码从 Excel 连接到 Teradata - 无法通过网络访问 Teradata 服务器

    我一直在尝试使用 vba 代码从 Excel 连接到 Teradata 但收到以下错误 无法通过网络访问 Teradata Server 我已经能够从 Teradata SQL 助手成功连接 并且还成功 ping 通 Teradata 服务
  • PyUSB 1.0:NotImplementedError:此平台不支持或未实现操作

    我刚刚开始使用 pyusb 基本上我正在玩示例代码here https github com walac pyusb blob master docs tutorial rst 我使用的是 Windows 7 64 位 并从以下地址下载 z
  • 如何使用 Ansible playbook 中的 service_facts 模块检查服务是否存在且未安装在服务器中?

    我用过service facts检查服务是否正在运行并启用 在某些服务器中 未安装特定的软件包 现在 我如何知道这个特定的软件包没有安装在该特定的服务器上service facts module 在 Ansible 剧本中 它显示以下错误
  • 根据列值突出显示数据框中的行?

    假设我有这样的数据框 col1 col2 col3 col4 0 A A 1 pass 2 1 A A 2 pass 4 2 A A 1 fail 4 3 A A 1 fail 5 4 A A 1 pass 3 5 A A 2 fail 2
  • 如何从网页中嵌入的 Tableau 图表中抓取工具提示值

    我试图弄清楚是否有一种方法以及如何使用 python 从网页中的 Tableau 嵌入图形中抓取工具提示值 以下是当用户将鼠标悬停在条形上时带有工具提示的图表示例 我从要从中抓取的原始网页中获取了此网址 https covid19 colo
  • SQLALchemy .query:类“Car”的未解析属性引用“query”

    我有一个这里已经提到的问题https youtrack jetbrains com issue PY 44557 https youtrack jetbrains com issue PY 44557 但我还没有找到解决方案 我使用 Pyt
  • Spark KMeans 无法处理大数据吗?

    KMeans 有几个参数training http spark apache org docs latest api python pyspark mllib html highlight kmeans pyspark mllib clus
  • Python pickle:腌制对象不等于源对象

    我认为这是预期的行为 但想检查一下 也许找出原因 因为我所做的研究结果是空白 我有一个函数可以提取数据 创建自定义类的新实例 然后将其附加到列表中 该类仅包含变量 然后 我使用协议 2 作为二进制文件将该列表腌制到文件中 稍后我重新运行脚本
  • 如何在Python中获取葡萄牙语字符?

    我正在研究葡萄牙语 角色看起来很奇怪 我怎样才能解决这个问题 代码 import feedparser import random Vou definir os feeds feeds conf feedurl http pplware s
  • 如何将 .xlsx 文件上传到 jenkins 作业

    如何将 xlsx 文件作为构建参数上传到 jenkins 作业 我尝试使用文件参数 但我发现该文件正在丢失其扩展名或原始格式 有什么方法可以从 jenkins UI 将 excel 文件上传到 jenkins 作业吗 In the file
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的
  • 将 MS 转换为秒

    我发现这个公式可以用来将 MS 转换为秒 但它是为 Excel 2002 编写的 而我正在使用 2010 CONCATENATE TEXT INT B1 1000 86400 hh mm ss B1 INT B1 1000 1000 以下是
  • 对年龄列进行分组/分类

    我有一个数据框说df有一个柱子 Ages gt gt gt df Age 0 22 1 38 2 26 3 35 4 35 5 1 6 54 我想对这个年龄段进行分组并创建一个像这样的新专栏 If age gt 0 age lt 2 the
  • 如何在 Python 中追加到 JSON 文件?

    我有一个 JSON 文件 其中包含 67790 1 kwh 319 4 现在我创建一个字典a dict我需要将其附加到 JSON 文件中 我尝试了这段代码 with open DATA FILENAME a as f json obj js
  • 有人用过 Dabo 做过中型项目吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我们正处于一个新的 ERP 风格的客户端 服务器应用程序的开始阶段 该应用程序是作为 Python 富客户端开发的 我们目前正在评估 Dabo
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • Scrapy:如何使用元在方法之间传递项目

    我是 scrapy 和 python 的新手 我试图将 parse quotes 中的项目 item author 传递给下一个解析方法 parse bio 我尝试了 request meta 和 response meta 方法 如 sc
  • 从列表指向字典变量

    假设你有一个清单 a 3 4 1 我想用这些信息来指向字典 b 3 4 1 现在 我需要的是一个常规 看到该值后 在 b 的位置内读写一个值 我不喜欢复制变量 我想直接改变变量b的内容 假设b是一个嵌套字典 你可以这样做 reduce di

随机推荐

  • 如何以编程方式配置 WCF 已知类型?

    我的客户端 服务器应用程序使用 WCF 进行通信 这非常棒 然而 当前架构的一个缺点是我必须对某些传输类型使用已知类型配置 我正在使用内部发布 订阅机制 这个要求是不可避免的 问题是很容易忘记添加已知类型 如果您这样做 WCF 会默默地失败
  • 使用 Node.js (express)、Angular 和 MongoDB 的 PUT 请求出现问题

    我一直在尝试弄清楚如何将数据更新到 MongoDB 我将 Monk 与 MongoDB Node Express 和 Angular 一起使用 我对 POST 和 DELETE 没有任何问题 但无法弄清楚 PUT 出了什么问题 我得到的错误
  • 将 c 函数作为参数传递给 cython 中的 python 函数

    我有以下有效的代码 cython cdef int add int a int b return a b cdef int mult int a int b return a b ctypedef int function type int
  • 立即按行长度和字母顺序对字符串数组进行排序

    我见过用其他几种语言提出这个问题 每种语言都有很好的答案 IE 如何按行长度对文件进行排序 然后按字母顺序对第二个键进行排序 如何按字符串长度按字母顺序排序 按字母顺序和长度对字符串进行排序 我无法在 Golang 中弄清楚 假设我有这个清
  • ExtJS4 如何从 JSON 设置 TreePanels 根节点

    我想使用 ExtJS4 创建 TreePanel 所以我将 JSON 发送到代理阅读器 其格式如下 text en children text children text page children text page new childr
  • Google Sheet QUERY + MATCHES 函数不排除字符串

    我想从排除某些字符的工作表中导入行 我首先使用 CONTAINS 函数执行此操作 但我没有找到使用多个参数执行此操作的方法 所以我使用 MATCHES 函数做到了 Query importrange URL Sheet a be SELEC
  • Visual Studio Code 缺少脏文件指示器和突出显示选项卡不起作用

    当 VS Code 中有脏文件时 我没有在文件选项卡中看到项目符号 也没有在选项卡上方看到突出显示栏 我在设置中打开了突出显示修改的选项卡 但没有任何效果 我还尝试更改主题 以防出现颜色问题 我没有任何会干扰这些设置的扩展 有人经历过这个吗
  • 以对象引用作为键的映射?

    我有一个存储有关特定实例的信息的对象 为此 我想使用Map 但由于键不是通过引用的 它们不是 对吧 而是作为由getHashCode方法 为了更好地理解 import collection mutable import java util
  • Function.call 方法作为回调[重复]

    这个问题在这里已经有答案了 如果我遗漏了什么 请原谅 但是当我尝试使用 call 方法作为回调时 它在 Chrome 和 Node js 中都会出现奇怪的错误 foo bar map String prototype trim call T
  • Rust 中的多种返回类型[重复]

    这个问题在这里已经有答案了 我有一个库函数f1 in rust返回一个字符串并想要更新它以选择性地返回一个向量 fn f1 gt String abc fn f2 gt String Vec
  • Hadoop kerberos 票证自动续订

    我在使用以下命令从 HDFS 下载大文件夹时遇到一些问题 hadoop fs get path to hdfs big folder 该文件夹很大 几乎 3TB kerberos 票证的生命周期为 10 小时 可续订生命周期为 7 天 下载
  • 如何将文件下载到 PHP 服务器?

    是否可以使用 PHP 脚本将远程服务器上的文件下载到我的 Web 服务器上 我有自己的网络服务器和域 我想在该域上放置一个 php 脚本 它将文件从远程服务器下载到我的服务器的文件系统上 这可能吗 Jim 当然 您需要文件系统上某处 您要保
  • 无法将图片从drawable发布到facebook

    我正在尝试将图像从可绘制文件夹传递到提要对话框 但我无法在 Facebook feed 对话中查看图像 其余参数可用 我正在使用 Facebook SDK 3 5 这是显示提要对话框的功能 private void publishFeedD
  • C++ - Qt - Visual Studio 2010 - 具有 GUI 和控制台的应用程序

    如果没有给程序提供任何参数 它将作为 GUI 应用程序启动 如果给定参数 它将通过命令行运行 我能够使用 Properties gt Linker gt SubSystem Console SUBSYSTEM CONSOLE 让 Visua
  • 添加一个新的可绘制对象,它正在更改解析的 xml 的图标

    我面临着一个只有在添加新的可绘制对象时才会发生的问题 我有一个已解析的xml to Fragment the icon设置为int 如果我添加新的可绘制对象 那么它会选择随机可绘制对象来显示已解析的图标xml 我有一个Adapter为了Re
  • 求 cos 的倒数

    at http www teacherschoice com au Maths Library Trigonometry solve trig SSS htm有 使用科学计算器求出 0 25 的反余弦 C cos 1 0 25 104 47
  • Laravel - 调用未定义的方法 Illuminate\Foundation\Application::share()

    我正在从 Laravel 5 3 升级到 Laravel 5 4 问题是当我跑步时composer update当谈到php artisan optimize部分 我收到错误 Symfony Component Debug Exceptio
  • 如何唤醒休眠线程并退出主线程?

    我正在创建 10 个线程 每个线程都会执行一些任务 有 7 项任务需要完成 由于任务数量小于线程数量 因此总会有 3 个线程处于休眠状态且不执行任何操作 我的主线程必须等待任务完成 只有当所有任务完成时 即线程退出时 才退出 我正在 for
  • 更改 tomcat 上 spring mvc 应用程序的应用程序根目录

    我正在 Spring MVC 3 0 上使用示例 RESTEasy 2 0 资源并部署到 Tomcat 6 我可以通过 http localhost 8080 examples resteasy 2 1 SNAPSHOT contacts
  • 使用 python 打印 Excel 工作簿

    假设我有一个excel文件excel file xlsx我想使用 Python 将其发送到我的打印机 所以我使用 import os os startfile path to file print 我的问题是 这仅打印 Excel 工作簿的