python 使用openpyxl操作excel

#!/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()
 


    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值