#!/usr/bin/env python
#-*-coding:utf-8-*-
'''
openpyxl 应用
读取excel数据
保存excel数据
excel sheet创建、修改
excel样式修改
此外:openpyxl可以绘制饼状图、折线图、条形图、柱形图等常见图形
'''
from openpyxl import Workbook
import datetime
from openpyxl import load_workbook
from openpyxl.styles import Font,colors,Alignment
def writeExcel():
#实例化,创建一个工作表
wb= Workbook()
# 获取活动工作表
ws = wb.active
#数据可以直接分配到单元格中
ws['A1'] = 42
#附加行
ws.append([1,2,3])
ws['A3'] = datetime.datetime.now().strftime('%Y-%m-%d')
#可以使用 行 和 列 定位要访问的单元格
ws.cell(row=5,column=2,value=10)
# 可以通过切片访问单元格范围,行或列的范围可以用类似方法获得
# cell_range = ws['A1':'C2']
# colC = ws['C']
# col_range = ws['C:D']
# row10 = ws[10]
# row_range = ws[5:10]
#修改sheet名称
ws.title = 'sheet1'
#保存文件
wb.save('test.xlsx')
def sheetTest():
#打开已有表
wb = load_workbook('test.xlsx')
#创建sheet
#sheet 插入到最后(default)
wb.create_sheet("mysheet1")
#sheet 插入到最开始的位置
wb.create_sheet("mysheet2",0)
#显示所有sheet名称
print(wb.sheetnames)
#遍历所有sheet
for sheet in wb:
print(sheet.title)
#保存文件
wb.save('test.xlsx')
def readExcel():
#打开已有表
wb = load_workbook('test.xlsx')
#选择sheet
sheet = wb['sheet1']
#法1:读取A1单元格元素
c1 = sheet.cell(1,1).value
print(c1)
#法2:读取A1单元格元素
c2 = sheet['A1'].value
print(c2)
#获取表单总行数
print(sheet.max_column)
#获取表单总列数
print(sheet.max_row)
#按行获取所有的数据
rowlist = sheet.rows
#按列获取所有的数据
columnlist = sheet.columns
#按行获取所有的数据,遍历rowlist,获取数据
for row in list(rowlist):
#存放一行数据
case = []
for c in row:
case.append(c.value)
pass
print(case)
#openpyxl可以设置excel的样式,包括字体、对齐方式、行高、列宽 、合并和拆分单元格
def excelStyle():
#打开已有表
wb = load_workbook('test.xlsx')
#选择sheet
sheet = wb['sheet1']
bold_itatic_24_font = Font(name='等线', size=24, italic=True, color='1874CD', bold=True)
sheet['A1'].font = bold_itatic_24_font
wb.save('test.xlsx')
pass
#excel 函数
def excelFunction():
#打开已有表
wb = load_workbook('test.xlsx')
#选择sheet
sheet = wb['sheet1']
#求平均值
sheet['D2']="=AVERAGE(A2:C2)"
#求和
sheet['B7']="=SUM(B2,B5)"
wb.save('test.xlsx')
if __name__ == '__main__':
writeExcel()
sheetTest()
readExcel()
excelStyle()
excelFunction()
python 使用openpyxl操作excel
最新推荐文章于 2023-12-14 13:49:13 发布