博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

openpyxl模块

Posted on 2023-03-12 22:11  生活旅行家  阅读(39)  评论(0)    收藏  举报

安装

pip install openpyxl

一、打开文件

创建文件


from openpyxl import Workbook

# 实例化

wb = Workbook()

# 获取当前active sheet

sheet = wb.active

# 打印sheet表名

print(sheet.title)

# 修改sheet名称

sheet.title = "salary luffy"
#保存工作表

wb.save("new.xlsx")

打开已有文件

from openpyxl import load_work_book

wb2 = load_workbook("文件名称.xlsx")

二、写数据

#方式一:数据可以直接分配到单元格(可以输入公式)
sheet["C5"] = "张三"
sheet["D5"] = "理事"

#方式二:可以附加行,从第一列开始附加(从最下方空白处,最左边开始)(可以输入多行)
sheet.append(["aa","cc","bb"])

#方式三:Python类型会被自动转换
sheet['A3'] = datetime.datetime.now().strftime("%Y-%m-%d")

三、选择表

wb = load_workbook("aaa.xlsx")

print(wb.sheetnames)
print(wb.get_sheet_names())    #作用同上
sheet = wb.get_sheet_by_name("sheet1")
print(sheet["b5"])    #打印B5

四、遍历表数据

print(sheet["b5"].value)        #打印B5的值

for cell in sheet["b5:b10"]:
    print(cell[0].value)    #遍历单元格,打印B5到B10的单元格内容

#按行遍历
for row in sheet:  #循环获取表数据
  for cell in fow:  #循环获取每个单元格数据
    print(cell.value,end = ",")
  print()

#按行遍历,从第4行到第21行遍历

for row in sheet.iter_rows(min_row = 4,max_row = 21,max_col = 5):
  for cell in row:
    print(cell.value,end = ",")
  print()

#按列遍历

for column in sheet.columns:
  for cell in column:
    print(cell.value,end = ",")  #注意这里添加end参数,将默认的换行结尾改变为,号
  print()

#按列遍历,从第3列到第4列遍历

for column in sheet.iter_cols(min_col = 3,max_col = 4,min_row = 3,max_row = 20):
  for cell in column:
    print(cell.value,end = ",")
  print()

 五、删除工作表

#方式一
wb.remove(sheet)
#方式二
del wb(sheet)

六、设置单元格样式

from openpyxl.styles import Font,colors,Alignment    #需要导入的包

bold_itatic_24_font = Font(name="等线",size = 24,itatic = True,color = colors.RED,bold = True)    #声明样式,等线24号,红色字体,加粗
sheet['A1'].font = bold_itatic_font    #给单元格设置样式

sheet['B1'].alignment = Alignment(horizontal = 'center',vertical = 'center')    #设置对齐方式,垂直居中和水平居中,也可以设置right和left

sheet.row_dimensions[2].height = 40    #第2行行高
sheet.column_dimensions['C'].width = 30    #C列宽度