我是reportlab的新手,到目前为止我很高兴,但我遇到了一个我不知道如何解决的情况。我正在尝试使用子表构建一个表,因为我的行具有不同的列数,所以基本上我正在尝试构建一个表,其中每行本身就是一个表。这似乎可行,因为 Table 构造函数成功完成并返回一个有效的表。不过,奇怪的是,当我尝试构建文档(SimpleDocTemplate 实例)时,出现“表实例没有属性 ' len '”错误。我的报告生成代码是:
#create the document and data list
doc = TimeEntryReportDocTemplate(response)
elements = []
#add the Sustainable Development and Construction header
elements.append(add_sdc())
#add the header rows
elements.append(add_header(start_date, end_date, department, unit, employee, project_name))
#create the column header table
t = create_column_header_table(grouping_type)
results = []
results.append(t)
#elements.append(t)
#get the grouped line item tables for inclusion
#elements = tabulate_line_items(line_items, grouping_type, elements)
results = tabulate_line_items(line_items, grouping_type, results)
final_table = Table(results, repeatRows=1)
elements.append(final_table)
doc.build(elements)
print final_table 实际上显示了包装在 Table(...data...) # end table 中的数据。为什么当我尝试构建它时它不起作用?我已经测试了我的每个返回表格的方法,它们都有效。如果我只是使用“元素”变量构建文档,则文档构建良好。我只需要在每个页面上重复元素集合中的第一行,这就是我尝试构建表格的原因。有没有更简单的方法?