使用 python 使用 reportlab 生成 pdf
Generate pdf with reportlab using python
我正在通过 ReportLab 生成 PDF 文件,输入文件在 excel 中,如果单元格值为空白,则生成为 pdf 中的 NONE。我想将 NONE 值转换为空白。
根据我的代码对此有任何解决方案。此 Pdf 使用 python
通过 reportlab 构建
代码
import openpyxl
from reportlab.pdfgen import canvas
wb = openpyxl.load_workbook (r'Input.xlsx', data_only=True )
sheet = wb['Sheet1']
ws = wb.active
y1= 100
x= 200
x1 = 700
def main():
for i in range ( 2, 42 ):
amount1 = sheet.cell(row=i, column=1).value
amount2 = sheet.cell(row=i, column=2).value
amount3 = sheet.cell(row=i, column=3).value
amount4 = sheet.cell(row=i, column=4).value
amount5 = sheet.cell(row=i, column=5).value
c = canvas.Canvas('output.pdf')
y =1500
c.setFont ( 'Helvetica', 12 )
c.drawString ( x,y, 'Component1' )
c.drawString ( x1, y, str ( amount1 ) )
y -= y1
c.drawString ( x,y, 'Component2' )
c.drawString ( x1,y, str ( amount2 ) )
y -= y1
c.drawString ( x,y, 'Component3' )
c.drawString ( x1, y, str ( amount3) )
y -= y1
c.drawString ( x,y, Component4' )
c.drawString ( x1, y, str ( amount4 ) )
y -= y1
c.drawString ( x, y, 'Component5' )
c.drawString ( x1, y, str ( amount5 ) )
y -= y1
if __name__ == "__main__":
main ()
我的输出
在生成为 None 的 pdf 值中,但想转换为空白
当有一个函数几乎可以满足您的需求但又不完全是编写您自己的函数的常见做法时,它通常会调用原始函数,但在某些情况下行为会有所不同。这些行为可以用条件语句引入。
def str_(value):
if value is None:
return ''
return str(value)
c.drawString ( x,y, 'Component2' )
c.drawString ( x1,y, str_( amount2 ) )
我正在通过 ReportLab 生成 PDF 文件,输入文件在 excel 中,如果单元格值为空白,则生成为 pdf 中的 NONE。我想将 NONE 值转换为空白。
根据我的代码对此有任何解决方案。此 Pdf 使用 python
通过 reportlab 构建代码
import openpyxl
from reportlab.pdfgen import canvas
wb = openpyxl.load_workbook (r'Input.xlsx', data_only=True )
sheet = wb['Sheet1']
ws = wb.active
y1= 100
x= 200
x1 = 700
def main():
for i in range ( 2, 42 ):
amount1 = sheet.cell(row=i, column=1).value
amount2 = sheet.cell(row=i, column=2).value
amount3 = sheet.cell(row=i, column=3).value
amount4 = sheet.cell(row=i, column=4).value
amount5 = sheet.cell(row=i, column=5).value
c = canvas.Canvas('output.pdf')
y =1500
c.setFont ( 'Helvetica', 12 )
c.drawString ( x,y, 'Component1' )
c.drawString ( x1, y, str ( amount1 ) )
y -= y1
c.drawString ( x,y, 'Component2' )
c.drawString ( x1,y, str ( amount2 ) )
y -= y1
c.drawString ( x,y, 'Component3' )
c.drawString ( x1, y, str ( amount3) )
y -= y1
c.drawString ( x,y, Component4' )
c.drawString ( x1, y, str ( amount4 ) )
y -= y1
c.drawString ( x, y, 'Component5' )
c.drawString ( x1, y, str ( amount5 ) )
y -= y1
if __name__ == "__main__":
main ()
我的输出
在生成为 None 的 pdf 值中,但想转换为空白
当有一个函数几乎可以满足您的需求但又不完全是编写您自己的函数的常见做法时,它通常会调用原始函数,但在某些情况下行为会有所不同。这些行为可以用条件语句引入。
def str_(value):
if value is None:
return ''
return str(value)
c.drawString ( x,y, 'Component2' )
c.drawString ( x1,y, str_( amount2 ) )