• 技术文章 >后端开发 >Python教程

    python操作xlsx文件的包openpyxl实例

    不言不言2018-05-03 11:56:48原创1778
    下面为大家分享一篇python操作xlsx文件的包openpyxl实例,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧

    Python扩展库openpyxl,可以操作07版以上的xlsx文件。可以创建工作簿、选择活动工作表、写入单元格数据,设置单元格字体颜色、边框样式,合并单元格,设置单元格背景等等。

    需要增加可以颜色进入包安装目录的

    your_pthon_path/site-packages/openpyxl/styles

    修改colors.py文件下的

    COLOR_INDEX = (
     '00000000', '00FFFFFF', '00FF0000', '0000FF00', '000000FF', #0-4
     '00FFFF00', '00FF00FF', '0000FFFF', '00000000', '00FFFFFF', #5-9
     '00FF0000', '0000FF00', '000000FF', '00FFFF00', '00FF00FF', #10-14
     '0000FFFF', '00800000', '00008000', '00000080', '00808000', #15-19
     '00800080', '00008080', '00C0C0C0', '00808080', '009999FF', #20-24
     '00993366', '00FFFFCC', '00CCFFFF', '00660066', '00FF8080', #25-29
     '000066CC', '00CCCCFF', '00000080', '00FF00FF', '00FFFF00', #30-34
     '0000FFFF', '00800080', '00800000', '00008080', '000000FF', #35-39
     '0000CCFF', '00CCFFFF', '00CCFFCC', '00FFFF99', '0099CCFF', #40-44
     '00FF99CC', '00CC99FF', '00FFCC99', '003366FF', '0033CCCC', #45-49
     '0099CC00', '00FFCC00', '00FF9900', '00FF6600', '00666699', #50-54
     '00969696', '00003366', '00339966', '00003300', '00333300', #55-59
     '00993300', '00993366', '00333399', '00333333', 'System Foreground', 'System Background' #60-64
     '00D2B48C', '0087CEFA', '0000BFFF' #自己添加的
    )

    以00+16进制RGB颜色代码的形式即可

    自己写的一个生成xlsx文件的代码:

    #!/usr/bin/env python
    #-*- coding: utf-8 -*-
    import openpyxl
    from openpyxl import Workbook
    from openpyxl.styles import colors,Font,Border,Side,PatternFill,Alignment
    wb = Workbook() #创建工作簿
    ws = wb.active #激活工作簿
    ws.merge_cells('C3:E3') #合并单元格
    ws.merge_cells('C4:E4')
    ws.merge_cells('C20:I20')
    ws.merge_cells('C21:I21')
    left, right, top, bottom = [Side(style='thin', color='000000')]*4 #设置单元格边框属性
    border = Border(left=left, right=right, top=top, bottom=bottom) #设置单元格边框格式
    fill1 = PatternFill(start_color = 'FFFF00', end_color = 'FFFF00', fill_type = 'solid') #设置单元格背景色
    fill2 = PatternFill(start_color = 'D2B48C', end_color = 'D2B48C', fill_type = 'solid')
    fill3 = PatternFill(start_color = '00BFFF', end_color = '00BFFF', fill_type = 'solid')
    fill4 = PatternFill(start_color = 'FF0000', end_color = 'FF0000', fill_type = 'solid')
    align1 = Alignment(horizontal='center', vertical='center') #设置文本对齐
    align2 = Alignment(horizontal='left', vertical='center')
    for i in range(3,22):
     for col in 'CDEFGHIJK':
     ws[col+str(i)].border = border #给每个单元格设置相应的格式 
     #ws[col+str(3)].fill = fill1
     #ws[col+str(i)].alignment = align
    for col in 'CDEFGHIJK':
     ws[col+str(3)].fill = fill1
     ws[col+str(20)].fill = fill3
     ws[col+str(21)].fill = fill4
     for i in range(4,20):
     ws[col+str(i)].fill = fill2
    for col in 'CDEFGHIJK':
     ws[col+str(3)].alignment = align1
    for i in range(4,22):
     for col in 'CDE':
     ws[col+str(i)].alignment = align2
    for col in 'CDEFGHIJK':
     ws[col+str(3)] = 'test1' #单元格赋值
    for i in range(3,22):
     for col in 'CDE':
     if i in range(5,20) and col == 'C':
      pass
     else:
      ws[col+str(i)] = 'test2'
    for i in range(4,20):
     for col in 'EFGHIJK':
     ws[col+str(i)] = 50
    for i in range(20,22):
     for col in 'JK':
     ws[col+str(i)] = 100
    wb.save('test.xlsx') #保存文件

    单元格字体等也可以使用相应的模块去设置。

    相关推荐:

    python操作表格添加行

    python操作excel读写数据

    python实现数据导出到excel的示例

    以上就是python操作xlsx文件的包openpyxl实例的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:openpyxl python xlsx
    上一篇:python实现数据导出到excel的示例 下一篇:对Python字符串中的换行符和制表符介绍
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 手把手教你在Python使用plot()函数画图• 详细解析python正则表达式re模块• 一文搞定Python中pip的安装与使用• 一文详解python生成器• Python实战解析selenium的基本元素与键盘鼠标模拟事件
    1/1

    PHP中文网