python 使用 openpyxl 常用方法、批量处理方法制作值班表框

编程入门 行业动态 更新时间:2024-10-20 03:33:18

python 使用 openpyxl 常用<a href=https://www.elefans.com/category/jswz/34/1771314.html style=方法、批量处理方法制作值班表框"/>

python 使用 openpyxl 常用方法、批量处理方法制作值班表框

openpyxl 是一个用于处理 xlsx 格式Excel表格文件的第三方python库,其支持Excel表格绝大多数基本操作。

1、pip安装方法,命令行输入: pip install openpyxl

pip install openpyxl

2、首先导入 openpyxl 

import xlrd
import openpyxlfrom openpyxl import Workbook                   #新建
from openpyxl import load_workbook              #打开
from openpyxl.styles import Font, Alignment     #导入字体模块
from openpyxl.styles import PatternFill         #导入填充模块
from openpyxl.styles import Side,Border         #导入设置边框

3、新建Excel表

#新建Excel工作簿
book = Workbook()#表格大多数用到的是打开时显示的工作表,这时可以用active来获取当前工作表
sheet = book.active#工作表重命名
sheet.title = '值班表'

4、单元格设置行高、列宽,及批量设置方法

#设置单元格列宽
sheet.column_dimensions['A'].width = 15
sheet.column_dimensions['B'].width = 70
sheet.column_dimensions['C'].width = 70#设置单元格行高
sheet.row_dimensions[1].height = 30
sheet.row_dimensions[2].height = 25
sheet.row_dimensions[3].height = 25
sheet.row_dimensions[4].height = 50#批量设置行高--设置第5-15行
for i in range(5, 15):i += 1sheet.row_dimensions[i].height = 15

5、批量设置单元格垂直居中,批量设置单元格靠左居中

#批量设置单元格垂直居中
for rows1 in range(0, 4):for cols1 in range(0, 5):sheet.cell(row=rows1 + 1, column=cols1 + 1).alignment = Alignment(horizontal='center', vertical='center')#批量设置单元格靠左居中
for rows2 in range(5, 15):for cols2 in range(0, 5):sheet.cell(row=rows2 + 1, column=cols2 + 1).alignment = Alignment(horizontal='left', vertical='center')

6、单元格合并,批量合并

#单元格A1、B1、C1进行合并
sheet.merge_cells('A1:C1')#单元格合并
sheet.merge_cells('A2:A3')#批量设置单元格合并,A4-C4、A5-C5......A14-C4合并单元格
for j in range(4, 15):j += 1sheet.merge_cells('A{}:C{}'.format(j, j))

7、批量设置边框,边框设置颜色、样式

#设置边框样式、颜色
side1 = Side(style="thin", color="000000")#设置边框上、下、左、右样式
border_set = Border(left=side1, right=side1, top=side1, bottom=side1)#批量设置边框
border1 = sheet['A1:C4']
for k in border1:for k1 in k:k1.border = border_set

8、设置字体、大小

#定义设置的字体及大小
fontobj1 = Font(name="方正小标宋简体", size=18)
fontobj2 = Font(name="楷体_GB2312", size=10)
fontobj3 = Font(name="宋体", size=14)
fontobj4 = Font(name="宋体", size=10)#批量设置
font1 = sheet['A1:C1']
font2 = sheet['A2:C3']
font3 = sheet['A4:C4']
font4 = sheet['A5:C14']for a in font1:for a1 in a:a1.font = fontobj1
for b in font2:for b1 in b:b1.font = fontobj2
for c in font3:for c1 in c:c1.font = fontobj3
for d in font4:for d1 in d:d1.font = fontobj4

9、内容写入

sheet.cell(1, 1).value = '2021年值班表'
sheet.cell(2, 2).value = '值班总负责人'
sheet.cell(2, 1).value = '日期'
sheet.cell(2, 3).value = '部门负责人带班'
sheet.cell(3, 2).value = '姓名/职务/联系方式'
sheet.cell(3, 3).value = '姓名/职务/联系方式'
sheet.cell(5, 1).value = '值班要求:1、'
sheet.cell(6, 1).value = '2、'
sheet.cell(7, 1).value = '3、'
sheet.cell(8, 1).value = '4、'
sheet.cell(9, 1).value = '5、'
sheet.cell(10, 1).value = '6、'
sheet.cell(11, 1).value = 'a、'
sheet.cell(12, 1).value = 'b、'
sheet.cell(13, 1).value = 'c、'
sheet.cell(14, 1).value = 'd、'

10、保存并重命名为‘值班表’

book.save('值班表')

更多推荐

python 使用 openpyxl 常用方法、批量处理方法制作值班表框

本文发布于:2024-03-23 16:37:44,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1740413.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:方法   批量   常用   python   openpyxl

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!