Preámbulo
En el artículo anterior, implementamos la combinación de datos de varias tablas en una tabla, esta vez aprenderemos cómo exportar datos de tablas como archivos PDF por separado.
Parte de los datos
y luego necesita instalar este software wkhtmltopdf
Si no sabe cómo descargarlo, puede escanearlo en el lado izquierdo de la computadora para encontrar lo que quiero
Visualización de efectos
Exporte cada dato por separado como PDF
Código
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')
Si te gusta, recuerda darle me gusta y recolectarlo ~
Sígueme para compartir más productos secos técnicos
. Tomar el código directamente es equivalente a prostituirse por nada. Me gusta y recolectar es la verdad ...
Su apoyo es la fuerza motriz de mi ¡actualizar!