安装
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列宽度
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~