Можно ли при работе с эксель файлом из python экспортировать отдельный лист как pdf?
есть следующая задача:
На входе питон получает определенные данные, которые вносит в первый лист экселя, во втором листе по определенным правилам генерируется готовая таблица. Вот эту таблицу из второго листа нужно сохранить отдельным файлом как pdf. Каким образом это можно сделать?
Ответы (2 шт):
Автор решения: passant
→ Ссылка
Сохранить из самого EXCEL я надеюсь? Тогда находясь на листе делаем "сохранить как" в окошке "тип файла" выбираем PDF. Задаем имя и сохраняем.
Автор решения: Alioshca Z
→ Ссылка
import xlrd
from fpdf import FPDF #python -m pip install fpdf
wb = xlrd.open_workbook('Путь к файлу.xls')
sh = wb.sheet_by_index(1) #лист из книги excel по индексу
collection = [] #массив значений с листа 2
for i in range(sh.nrows):
r = sh.row_values(i)
collection.append(r) #записываем каждую строку листа 2 в массив
print(r)
spacing = 1
pdf = FPDF() #создаем файл PDF
pdf.set_font("Arial", size=12)
pdf.add_page()
col_width = pdf.w / 4.5
row_height = pdf.font_size
for row in collection:
for item in row:
pdf.cell(col_width, row_height*spacing, txt=str(item), border=1)
pdf.ln(row_height*spacing)
pdf.output(r'Путь и название нового файла.pdf')
Чтобы в строке pdf.cell(col_width, row_height*spacing, txt=str(item), border=1) не возникало проблем с кодировками кириллицы и остальных символов - лучше заранее обрабатывать значения из Эксельки.