import pdfkit |
import openpyxl |
import os |
target_dir = '经销商预算' |
if not os.path.exists(target_dir): |
os.mkdir(target_dir) |
html = """ |
<!DOCTYPE html> |
<html lang="en"> |
<head> |
<meta charset="UTF-8"> |
<style> |
table { |
font-size: 22px; |
font-weight: bolder; |
width: 850px; |
} |
</style> |
</head> |
<body> |
<table border="1" align="center" cellspacing="1"> |
<tr> |
<td class='title' align="center" colspan="6">2020年广东经销商预算目标</td> |
</tr> |
<tr> |
<td>经销商代码</td> |
<td>经销商名称</td> |
<td>成车数量</td> |
<td>成车金额</td> |
<td>商品金额</td> |
<td>客户签字</td> |
</tr> |
<tr> |
<td>{code}</td> |
<td>{name}</td> |
<td>{number}</td> |
<td>{money}</td> |
<td>{total}</td> |
<td></td> |
</tr> |
</table> |
</body> |
</html> |
""" |
def html_to_pdf(filename_html, filename_pdf): |
"""HTML 2 PDF""" |
config = pdfkit.configuration(wkhtmltopdf = 'D:\\wkhtmltopdf\\bin\\wkhtmltopdf.exe' ) |
pdfkit.from_file(filename_html, filename_pdf, configuration = config) |
wb = openpyxl.load_workbook( '2020经销商目标.xlsx' ) |
sheet = wb[ 'Sheet1' ] |
print (sheet.rows) |
for row in list (sheet.rows)[ 3 :]: |
data = [value.value for value in row] |
data = data[ 1 : - 1 ] |
format_html = html.replace( '{code}' , data[ 0 ]) |
format_html = format_html.replace( '{name}' , data[ 1 ]) |
format_html = format_html.replace( '{number}' , str (data[ 2 ])) |
format_html = format_html.replace( '{money}' , f '{data[3]:.2f}' ) |
format_html = format_html.replace( '{total}' , f '{data[4]:.2f}' ) |
with open ( 'example.html' , mode = 'w' , encoding = 'utf-8' ) as f: |
f.write(format_html) |
html_to_pdf( 'example.html' , target_dir + os.path.sep + data[ 0 ] + " " + data[ 1 ] + '.pdf' ) |