狂野的兔子 2022-03-04 22:46 采纳率: 50%
浏览 188
已结题

如何使用python调用打印机打印Excel指定区域(B1:F15)?

您好,想请教一个问题Excel表格打印表格指定区域(这个区域随着变量变动)
用vba:

“Sheets("测试").Range("B1:F15" ).PrintOut”直接调用打印机进行将B1:F15区域打印出来。

如果使用python应该怎么操作?查了好多资料,一点头绪都没有,希望能指点一下,感谢

  • 写回答

3条回答 默认 最新

  • ~白+黑 Python领域新星创作者 2022-03-05 09:50
    关注

    既然你懂vba试试xlwings库,

        Gets or sets the range address that defines the print area.
    
        示例
    
        >>> mysheet.page_setup.print_area = '$A$1:$B$3'
        >>> mysheet.page_setup.print_area
        '$A$1:$B$3'
        >>> mysheet.page_setup.print_area = None  # clear the print_area
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • CSDN专家-HGJ 2022-03-05 00:04
    关注

    用openpyx读取出数据,转为字符串,并将该结果作为参数,传入调用打印机函数实现打印。
    参考如下实现方式:

    import win32print
    import win32ui
    import win32con
    from openpyxl import load_workbook
    def print2Printer(x):
            INCH = 1440
            hDC = win32ui.CreateDC ()
            hDC.CreatePrinterDC (win32print.GetDefaultPrinter ())
            hDC.StartDoc ("Test doc")
            hDC.StartPage ()
            hDC.SetMapMode (win32con.MM_TWIPS)
            hDC.DrawText (x,(0, INCH * -1, INCH * 8, INCH * -2), win32con.DT_CENTER)
            hDC.EndPage ()
            hDC.EndDoc ()
    
    wb=load_workbook('t1.xlsx')
    ws=wb.active
    a=[]
    for row in ws['B2':'C5']:
        a.append(','.join([str(x.value) for x in row]))
    x='\n'.join(a)
    
    print2Printer(x)
    
    

    调用打印机函数参考这里:
    https://blog.csdn.net/qq_43766304/article/details/105459279

    评论
  • 有问必答小助手 2022-03-05 21:08
    关注
    您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
    PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月13日
  • 已采纳回答 3月5日
  • 创建了问题 3月4日

悬赏问题

  • ¥15 matlab+波形匹配算法
  • ¥15 转录组分析做聚类树图时癌旁组被分到了癌组
  • ¥15 大一Python字典
  • ¥15 multisim电路设计(相关搜索:设计报告)
  • ¥15 PC-lint Plus
  • ¥15 gpl24676注释
  • ¥15 php5.3内存泄露
  • ¥15 DigSilent如何复制复合模型到自己案例?
  • ¥15 求日版华为b610s-77a 官方公版固件,有偿
  • ¥15 关于#java#的问题,请各位专家解答!(相关搜索:java程序)