美文网首页
教你用Python快速制作Excel工资条

教你用Python快速制作Excel工资条

作者: libdream | 来源:发表于2023-07-31 09:06 被阅读0次

大多数小伙伴们都遇到过要把一张Excel数据表中的数据按条拆分的需求,拆分的方式当然有很多种了,可谓是八仙过海,各显神通。

最慢的方法就是复制黏贴了,不会有人真这么做吧。

反之呢,最快的方式自然是通过程序实现自动化拆分了。

在这里,我给各位小伙伴分享一下用Python快速拆分Excel数据表,以制作工资条为例。

我们要制作工资条的原始表格如下:


640 (1).png

我们用Python拆分原始表格制作的工资条如下:


640.png

怎么样?效果还不错吧,只要3秒我们就能完成工资条的制作。

下面是完整的代码展示:

import pandas as pd
from openpyxl import Workbook
from openpyxl.styles import Alignment, Font, Border, Side

# 读取原表,原表和代码文件放在同一文件夹内
df = pd.read_excel('工资表.xlsx')

# 创建一个新的Excel工作簿
wb = Workbook()
ws = wb.active

# 创建边框样式
thin_border = Border(left=Side(style='thin'), 
                     right=Side(style='thin'), 
                     top=Side(style='thin'), 
                     bottom=Side(style='thin'))

# 遍历每一行,为每个员工生成一个工资条
for index, row in df.iterrows():
    # 写入标题行
    for col_name in df.columns:
        cell = ws.cell(row=(index*3+1), column=df.columns.get_loc(col_name)+1, value=col_name)
        cell.font = Font(size=10, bold=True)
        cell.alignment = Alignment(horizontal='center', vertical='center', wrap_text=True)
        cell.border = thin_border

    # 写入数据
    for col_index, value in enumerate(row):
        cell = ws.cell(row=(index*3+2), column=col_index+1, value=value)
        cell.font = Font(size=10)
        cell.alignment = Alignment(horizontal='center', vertical='center', wrap_text=True)
        cell.border = thin_border

# 保存工作簿
wb.save('工资条.xlsx')

相关文章

网友评论

      本文标题:教你用Python快速制作Excel工资条

      本文链接:https://www.haomeiwen.com/subject/isrepdtx.html