Я работаю на питоне, используя ReportLab. Мне нужно создать отчет в формате PDF. Данные извлекаются из базы данных и вставляются в таблицу. Вот простой код:
from reportlab.lib import colors
from reportlab.lib.pagesizes import letter
from reportlab.platypus import SimpleDocTemplate, Table, TableStyle
from reportlab.lib.units import inch
doc = SimpleDocTemplate("simple_table.pdf", pagesize=letter)
elements = []
data= [['00', '01', '02', '03', '04'],
['10', 'Here is large field retrieve from database', '12', '13', '14'],
['20', '21', '22', '23', '24'],
['30', '31', '32', 'Here is second value', '34']]
t=Table(data)
columnWidth = 1.9*inch;
for x in range(5):
t._argW[x]= cellWidth
elements.append(t)
doc.build(elements)
Есть три проблемы:
- Длинные данные в ячейке перекрываются с другой ячейкой в строке.
- Когда я увеличиваю ширину столбца вручную, например
cellWidth = 2.9*inch;
, страница не видна и не прокручивается слева направо - Я не знаю, как добавить данные в ячейку, значит, если размер данных большой, он должен добавляться к следующей строке в той же ячейке.
Как я достигаю этой проблемы?