Я пытаюсь преобразовать лист 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 для объединения ячеек, но меня беспокоит различие между обычной ячейкой и объединенной, и если она объединена, то в какой степени (Нет . объединенных ячеек).
То же самое и с другими форматами.
Для пояснения, это то, что возвращает лист переменных.
Я пытаюсь преобразовать лист Google в файл PDF. (Это входные данные Google Sheet.) Я просмотрел Интернет и приступил к преобразованию Google Sheets в HTML с помощью библиотеки gspread, а затем преобразовал его в PDF с помощью pdfkit. Приведенный ниже скрипт работает, но, как и предполагалось, все данные форматирования листов, включая объединенные ячейки, теряются. [code]import gspread import pdfkit
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) [/code] И вот результат. Я хочу, чтобы объединенные ячейки оставались объединенными, а форматирование оставалось. В документации gspread я не нашел никакой функции, позволяющей узнать, какие ячейки объединены, или вернуть форматирование. [b]Изменить:[/b] Как упомянул @LimeHusky, я могу использовать тег colspan для объединения ячеек, но меня беспокоит различие между обычной ячейкой и объединенной, и если она объединена, то в какой степени (Нет . объединенных ячеек). То же самое и с другими форматами. Для пояснения, это то, что возвращает лист переменных. [code][['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']] [/code] Будем признательны за любое решение, решающее проблему.