Преобразование Google Sheet в файл PDF с форматированием [дубликат]Python

Программы на Python
Ответить
Anonymous
 Преобразование Google Sheet в файл PDF с форматированием [дубликат]

Сообщение Anonymous »

Я пытаюсь преобразовать лист Google в файл PDF. (Это входные данные Google Sheet.) Я просмотрел Интернет и приступил к преобразованию Google Sheets в HTML с помощью библиотеки gspread, а затем преобразовал его в PDF с помощью pdfkit. Приведенный ниже скрипт работает, но, как и предполагалось, все данные форматирования листов, включая объединенные ячейки, теряются.

Код: Выделить всё

import gspread
import pdfkit

wkhtmltopdf = r"wkhtmltopdf.exe"
config = pdfkit.configuration(wkhtmltopdf=wkhtmltopdf)

gc = gspread.service_account()
sh = gc.open("Test")
sheet = sh.sheet1.get_all_values()

table = ""
for row in sheet:
table += ""
for data in row:
table += f"{data}"
table += ""

html = f'''



{table}



'''

pdfkit.from_string(html, "test.pdf", configuration=config)
И вот результат.
Я хочу, чтобы объединенные ячейки оставались объединенными, а форматирование оставалось. В документации gspread я не нашел никакой функции, позволяющей узнать, какие ячейки объединены, или вернуть форматирование.
Изменить:
Как упомянул @LimeHusky, я могу использовать тег colspan для объединения ячеек, но меня беспокоит различие между обычной ячейкой и объединенной, и если она объединена, то в какой степени (Нет . ячеек объединились).
То же самое и с другими форматами.
Для пояснения, это то, что возвращает лист переменных.

Код: Выделить всё

[['ID00001', '', '', '', ''],
['', '', '', '', ''],
['Merged', '', '', '', ''],
['1', 'A', '10', '11', '70'],
['2', 'B', '20', '22', '80'],
['3', 'C', '30', '33', '70'],
['4', 'D', '40', '44', '90'],
['5', 'E', '50', '55', '70'],
['6', 'F', '60', '66', '100']]
Будем признательны за любое решение, которое решит проблему.
Кроме того, я не прошу конкретно решения с использованием HTML. Мне просто нужно преобразовать Google Sheet в файл PDF со всем форматированием, а также контролировать, какие строки отображать, а какие нет.

Подробнее здесь: https://stackoverflow.com/questions/791 ... formatting
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»