Добавить rowspan, colspan в таблицу Reportlab

  • By admin
  • Вт 03 Январь 2012

Reportlab -- это библиотека для генерации pdf документов. Мне нужно было создать таблицу, несколько колонок которой были объединены. Гугл вразумительного ответа не смог дать, поэтому стал читать официальную документацию. Действительно, на 77 странице вполне себе написано. Попробую дать перевод (вольный):

Класс Table поддерживает объединение столбцов и строк, аналог в html -- rowspan и colspan. Формат объединения такой:

SPAN, (sc,sr), (ec,er)

где sc, ec объединяемые колонки а sr, er объединяемые строки. Пример:

data = [['Top\nLeft', '', '02', '03', '04'],
       ['', '', '12', '13', '14'],
       ['20', '21', '22', 'Bottom\nRight', ''],
       ['30', '31', '32', '', '']]
t = Table(data, style=[
                  ('GRID',(0,0),(-1,-1),0.5,colors.grey),
                  ('SPAN',(0,0),(1,1)),
                  ('SPAN',(-2,-2),(-1,-1)),
])

Top Left 02 03 04
12 13 14
20 21 22 Bottom Right
30 31 32