openxlsx模块
import openpyxl
#创建工作簿
wb = openpyxl.Workbook()
#获取当前活跃的工作表
ws = wb.active
#删除工作表
remove_sheet(wb.get_sheet_by_name('工作表名字'))
#保存工作簿
wb.save(r'保存目录位置')
#自动判断传入excel的是文本还是数字
wb.guess_types = True
#打开现有的工作簿
wb = openpyxl.load_workbook(r'工作簿位置')
#以函数方式获取当前所有工作表名字 #返回所有名字
wb.get_sheet_name()
#以属性方式获取当前所有工作表名字 #返回所有名字
wb.sheetname
#定位到工作表
ws = wb.get_sheet_by_name('工作表名称')
#在已有工作簿情况下,创建工作表,可选参数更改名字
creat_sheet(title = '字符串')
#单元格行 #返回 2
c = ws['A2']
c.row
#单元格列 #返回 A
c.column
#单元格位置 #返回 A2
c.coordinate
#通过属性获取单元格值 #返回 单元格值
c.value
#通过其中一个单元格定位其他单元格位置 #此时赋予d 的位置为A4, f 的位置为C2
d = c.offset(2, 0)
f = c.offset(0, 2)
#计算此时496列为表格中什么字母表示 #返回为 ‘SB’
openpyxl.cell.cell.get_column_letter(496)
#计算此时表格中'JB等于多少列' #返回为 262
openpyxl.cell.cell.column_index_from_string('JB')
#包含A列所有的数据的列表 #返回 包含A列所有的数据的列表
ws.rows
#可选定列的数据,选定出A1:B4的内容
ws.iter_rows(min_row = 2 , min_col =1, max_row = 4, max_col =2)
#复制工作表
new = wb.copy_worksheet(ws)
wb.save(r'工作簿位置')
#更改工作表颜色
ws1.sheet_properties.tabColor = '颜色编号'
#调整单个高度
wb.row_dimensions[行].height = 需要更改的数值大小
#调整单个宽度
wb.column_dimensions['列'].width = 需要更改的数值大小
#合并单元格
wb.merge_cells('XX:XX')
#拆分单元格
wb.unmerge_cells('XX:XX')
#已获取当前工作表下,指定位置冻结窗口
ws.freeze_panes = 'XX'
#解除已冻结的窗口
ws.freeze_panes = 'A1'或者 None
#设置单元格字体及颜色、大小、下横线、删除线
bold_red_font = Font(bold = True, color = 'FF0000')
e = ws['B2']
e.font = bold_red_font
#设置单元格背景颜色.
(solid纯色,FFFF00黄色)
1、from openpyxl.styles import PatternFill
yellow_fill = PatternFill(fill_type='solid', fgColor = 'FFFF00')
e.fill = yellow_fill
(linear线性填充,FF0000红,00FF00绿\\\\\stop需要参数是元组)
2、from openpyxl.styles import GradientFill
red2green = GradientFill(fill_type='linear', stop=('FF0000','00FF00'))
e.fill = red2green
#设置边框
(thin细线,000000黑色, diagonal绘制对角线[需要将 diagonalUp 为 True 或者 diagonalDown 为 True])
1、from openpyxl.styles import Border, Side
thin_side = Side(border_style ='thin', color = '000000')
e.border = Border(diagonal = thin_side, diagonalUp = True, diagonalDown = True)
(double双横线,FF0000红色, left、top、right、dottom为左上右下边框设置)
2、from openpyxl.styles import Border, Side
double_side = Side(boeder_style = 'double',coloe = 'FF0000')
e.border = Border(left = double_side, top = double_side, right = double_side, bottom = double_side)
#文本水平位置(horizontal居中及vertical垂直居中)
from opnepyxl.styles import Alignment
e.alignment = Alignment(horizontal = 'center', vertical = 'center')
#设计模板
from openpyxl.styles import NameStyle
对象名 = NameStyle(name = '对象名')
#设置字体
对象名.font = Font(bold = True, size = 大小数值)
#设置文本位置
对象名.alignment = Alignment(horizontal = 'center', vertical = 'center')
#修改边框
#设置背景
#单元格大小
''''''
#将设置好的模板注册到工作簿中
wb.add_named_style(对象名)
#添加使用模板
ws['XX'].style = 对象名