我有一个问题,我不能在mysql表中显示我的第二条记录。报表只在一行中显示一条记录,而第二条记录不显示在pdf文件中。我在Python2.7上使用reportlab作为报表生成器
这是我无法修复的代码:
def nilaisql():
rpt = raw_input("input NPM : ")
sql = "select nama, tanggal, jamMasuk from t_"+rpt
curs.execute(sql)
result = curs.fetchall()
for row in result:
c = canvas.Canvas("Sampelone.pdf")
c.drawString(250, 700, str(row[0]))
c.save()
os.system("Sampelone.pdf")
这是我在mysql上的记录。我想显示第二行记录,但pdf只是显示第一行记录
它应该显示第二行记录
这是我的pdf文件的结果
我被困在这里,如果你知道一些事情,我真的很感激你能在这里分享解决方案
1条答案
按热度按时间s5a0g9ez1#
代码片段所做的是创建一个新文件并编写变量的内容
row
输入pdf文件并c.save
保存它。在下一次迭代中,将重新创建同一个文件,该文件为空,原始文件将被该空文件和row
这就是为什么你总是只能看到第一行记录。这应该很管用。根据您的用途和文档高度增加或减少y的值。
这样您就可以看到pdf中的所有行记录。
但这种做法不被认为是好的,你应该总是把你的数据在流动像这样。
在reportlab用户指南中阅读有关flowables的更多信息