如何编辑此代码,使其具有7列5行,且列名称显示在顶部?
# PDF document layout
table_style = TableStyle([('ALIGN',(1,1),(-2,-2),'RIGHT'),
('TEXTCOLOR',(1,1),(-2,-2),colors.red),
('VALIGN',(0,0),(0,-1),'TOP'),
('TEXTCOLOR',(0,0),(0,-1),colors.blue),
('ALIGN',(0,-1),(-1,-1),'CENTER'),
('VALIGN',(0,-1),(-1,-1),'MIDDLE'),
('TEXTCOLOR',(0,-1),(-1,-1),colors.green),
('INNERGRID', (0,0), (-1,-1), 0.25, colors.black),
('BOX', (0,0), (-1,-1), 0.25, colors.black),
])发布于 2018-02-20 10:06:03
数据的形状定义了ReportLab中表格的形状。表数据可以存储在列表列表中。列表中的每个列表都是一行(元组也可以)。下面是一个示例:
data = [['00', '01', '02', '03', '04'], # First row or headers
['10', '11', '12', '13', '14'], # Second row
['20', '21', '22', '23', '24'], # Third row
['30', '31', '32', '33', '34'],] # Fourth row有关更多信息,请参阅此处提供的文档的第84页:https://www.reportlab.com/docs/reportlab-userguide.pdf
在您的示例中,您将展示如何定义表格的样式或外观。索引1和2处的2元组定义应应用格式的单元格范围。第一个2元组是(Start Column,Start Row),第二个2元组是(End Column,End Row)。您可以将此视为用鼠标选择电子表格上的一系列单元格,从第一个单元格开始到第二个单元格停止。负索引的使用方式与在Python中用于列表的方式相同。
下面的示例是一个包含7列和任意行数的表。第一行是标题。
all_cells = [(0, 0), (-1, -1)]
header = [(0, 0), (-1, 0)]
column0 = [(0, 0), (0, -1)]
column1 = [(1, 0), (1, -1)]
column2 = [(2, 0), (2, -1)]
column3 = [(3, 0), (3, -1)]
column4 = [(4, 0), (4, -1)]
column5 = [(5, 0), (5, -1)]
column6 = [(6, 0), (6, -1)]
table_style = TableStyle([
('VALIGN', all_cells[0], all_cells[1], 'TOP'),
('LINEBELOW', header[0], header[1], 1, colors.black),
('ALIGN', column0[0], column0[1], 'LEFT'),
('ALIGN', column1[0], column1[1], 'LEFT'),
('ALIGN', column2[0], column2[1], 'LEFT'),
('ALIGN', column3[0], column3[1], 'RIGHT'),
('ALIGN', column4[0], column4[1], 'RIGHT'),
('ALIGN', column5[0], column5[1], 'LEFT'),
('ALIGN', column6[0], column6[1], 'RIGHT'),
])https://stackoverflow.com/questions/48865365
复制相似问题