批量制作word表格

问题背景

将excel表中的成绩内容制作为成绩单,每页对应一个学员的成绩,方便打印

代码实现

## 导入包
import pandas as pd
from docx import Document
from docx.enum.text import WD_ALIGN_PARAGRAPH,WD_LINE_SPACING

# 读取 Excel 内容
df = pd.read_excel('./汇总的内容.xlsx')

## 实例化一个
document = Document()

## 循环写入多个表
for i in range(len(df)):
    
    # 增加一级标题
    document.add_heading(f'{df.loc[i,"企业"]}的表', level=1)
    
    ## 每个表格之间添加一个空行或者添加一句话
    document.add_paragraph(f'请{df.loc[i,"企业"]}于{df.loc[i,"日期"]}前,尽快完成以下表格填写。')
    
    ## 新建一个表,设置单元格样式:https://blog.csdn.net/ibiao/article/details/78595295
    table = document.add_table(3, 4, style="Table Grid")
    
    ## 第一行
    heading_cells = table.rows[0].cells
    # 每一列
    heading_cells[0].text = f'{df.loc[i,"序号"]}'
    heading_cells[1].text = f'{df.loc[i,"日期"]}'
    heading_cells[2].text = f'{df.loc[i,"企业"]}'
    heading_cells[3].text = f'{df.loc[i,"文号"]}'
    
    ## 第二行
    heading_cells = table.rows[1].cells
    # 每一列
    heading_cells[1].text = f'{df.loc[i,"主题"]}'
    # (1)水平对齐
    table.cell(1,1).paragraphs[0].paragraph_format.alignment=WD_ALIGN_PARAGRAPH.CENTER


    ## 第三行
    heading_cells = table.rows[2].cells
    # 每一列
    heading_cells[1].text = '签收'

    ## 合并单元格
    table.cell(0,0).merge(table.cell(2,0))
    table.cell(1,1).merge(table.cell(1,3))
    table.cell(2,1).merge(table.cell(2,3))
    
    ## 添加分页符,一页一张表
    document.add_page_break()
    
# 保存文件
document.save("./成绩单打印.docx")

实现效果

相关推荐

  1. Python和VBA批量提取Word中的表格

    2024-07-11 14:38:06       44 阅读
  2. Diary12-Word表格

    2024-07-11 14:38:06       54 阅读
  3. unity 制作表格 配置

    2024-07-11 14:38:06       29 阅读
  4. html简单的表格制作

    2024-07-11 14:38:06       55 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 14:38:06       53 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 14:38:06       56 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 14:38:06       46 阅读
  4. Python语言-面向对象

    2024-07-11 14:38:06       57 阅读

热门阅读

  1. TS-类型别名和接口的区别

    2024-07-11 14:38:06       18 阅读
  2. 索引

    2024-07-11 14:38:06       19 阅读
  3. 嵌入式Bootloader面试题面面观(2万字长文)

    2024-07-11 14:38:06       22 阅读
  4. 1.python基础

    2024-07-11 14:38:06       20 阅读
  5. 24/07/11数据结构(6.1215)双链表实现-栈实现

    2024-07-11 14:38:06       21 阅读
  6. Spring框架:核心概念与Spring Boot微服务开发指南

    2024-07-11 14:38:06       17 阅读
  7. 解决Spring Boot中的数据安全与加密

    2024-07-11 14:38:06       21 阅读
  8. Flask和Django两个Web框架的特点和适用场景

    2024-07-11 14:38:06       22 阅读