@Slytherin

Как печатать файл excel целиком?

Данный код печатает только активный лист из excel'я
import os
os.startfile(r"C:\Users\User\Desktop\1.xlsx", "print")
printers = conn.getPrinters()


Попытался сделать листы активными через этот код, но делается только последний лист активным.

from openpyxl import load_workbook
wb = load_workbook(r'C:\Users\User\Desktop\1.xlsx') #Открываем Excel-файл
r=wb.sheetnames
sheet = wb.sheetnames #Получили список всех листов в файле и загнали его в переменную
t=len(r)
while t!=-1:
	r=r[0:t]
	wb.active=t#делаем лист t активным
	t=t-1
	sheet=wb.active
	print(sheet)
	wb.save(r'C:\Users\User\Desktop\2.xlsx') #Сохраняем файл с изменениями

Как сделать все листы активными или как распечатать всю книгу целиком? Вариант создавать для каждого листа отдельный excel не подходит, так как есть двухсторонняя печать
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
@Slytherin Автор вопроса
Решение проблемы:
import xlwings as xw
import xlwings.constants
wb=xw.Book(r"C:\Users\User\Desktop\1.xlsx")
sh2=wb.sheets
sh2.api.PrintOut(From=1, To=3, Copies=1)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@rPman
первый ваш пример - это запрос к операционной системе, запустить зарегистрированную команду на печать файла, второй же - загрузка документа библиотеками офиса в приложении, попробуйте уже тут из питона запускать печать, там метод так и называется PrintOut.

p.s. Пишут что надо постранично пересохранять документ и для каждой печать делать
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ZClick Москва
от 50 000 до 100 000 руб.
Protoplan Краснодар
от 80 000 до 150 000 руб.
22 июл. 2019, в 18:33
200 руб./за проект
22 июл. 2019, в 18:28
10000 руб./за проект