办公自动化 -- python写入excel文件内容

xlwt介绍

  • xlwt是一个用于将数据和格式信息写入旧版excel文件(即.xls)的库

xlwt安装

  • 在安装了python环境的前提下
  • windows+R输入cmd进入终端
  • 执行 pip install xlwt

xlwt使用

  • 当我们要调用库中的方法进行操作时。第一步就是通过import关键字导入库
  • 代码如下:
import xlwt as xw
'''
写入内容步骤
创建工作簿
通过工作簿创建工作表
写入数据
'''
workbook = xw.Workbook(encoding='utf-8')    #创建工作簿
worksheet = workbook.add_sheet('sheet1')    #创建工作表
worksheet.write(0,0,'name')     #写入name
worksheet.write(0,1,'age')      #写入age
worksheet.write(0,2,'gender')   #写入gender
workbook.save('demo.xls')       #保存工作簿

excel单元格样式介绍

  • xlwt中有XFStyle这个库来对所有单元格的样式进行规范操作,也刚好分为:
  • Formating 格式化
  • Formatting.Font() #字体设置
  • Formatting.Alignment() #对齐设置
  • Formatting.Borders() #边框设置
  • Formatting.Pattern() #背景颜色设置
    -当我们想要设置单元格样式时,通常需要先实例化XFStyle类,以便于调用该类的方法

excel四大设置

  • 首先xlwt.XFStyle初始化样式

python设置excel字体样式

  • xlwt.Font() #创建字体对象
  • xlwt.Font().name #设置字体
  • xlwt.Fonto().bold #设置加粗(True是加粗,False是不加粗)
  • xlwt.Font().underline #设置下划线
  • xlwt.Font().italic #设置倾斜
  • xlwt.Font().color #设置字体颜色
  • xlwt.Font().color_index #根据颜色索引来设置颜色
  • xlwt.Font().size #设置字体大小
  • xlwt.Font().height #设置行高
  • xlwt.Font().struck_out #设置删除线
  • worksheet.cell(index).width #设置单元格宽度 基本单位256
import xlwt as xw


workbook = xw.Workbook(encoding='utf-8')    #创建工作簿
worksheet = workbook.add_sheet('sheet1',cell_overwrite_ok=True)
style = xw.XFStyle()    #初始化样式
font = xw.Font()    #为样式创建字体
font.name = 'Times New Roman'   #设置字体
font.italic = True  #设置倾斜
style.font =font     #设置字体为我们font字体
worksheet.col(0).width = 256*20     #设置第一列的宽度
worksheet.write(0,0,'设置了单元格',style)
worksheet.write(1,0,'未设置单元格')
workbook.save('demo.xls')

python设置excel颜色索引

import xlwt as xw

def set_Fstyle(c_index):
    style = xw.XFStyle()
    font =xw.Font()
    font.size = 16
    font.colour_index = c_index
    style.font = font
    return style
workbook = xw.Workbook() 
worksheet = workbook.add_sheet('sheet1',cell_overwrite_ok=True)
worksheet.write(0,0,'123,set_Fstyle(0)')
workbook.save('test.xls')
'''
实现0(0,1),1(0,1),2(0,2)……9(0,9)根据对应的值来设置对应的颜色
将每个元素遍历出来,比如0-99
'''
worksheet2 = workbook.add_sheet('sheet2',cell_overwrite_ok=True)
row = 0
col = 0
for i in range(0,100):
    worksheet2.write(row,col,i,set_Fstyle())
    col += 1
    if col % 10 == 0:
        row += 1
        col = 0
workbook.save('demo.xls')

pthon设置excel边框样式

'''
xlwt.Borders    #创建对象边框
xlwt.Borders().top  #设置上边框
xlwt.Borders().bottom   # 设置下边框
xlwt.Borders().left     #设置左边框
xlwt.Borders().right    #设置右边框
上下左右边框的值,比如实线虚线等也可以进行相应的设置,如下:
    NO_LINE = 0X00  #保持默认
    THIN = 0X01     #实线
    DASHED = 0X03   #虚线
    MEDIUM = 0X02
    DOTTED = 0X04
    THICK = 0X05
    DOUBLE = 0X06
    HAIR = 0X07
'''
import xlwt as xw


workbook = xw.Workbook(encoding='utf-8')
worksheet = workbook.add_sheet('sheet1',cell_overwrite_ok=True)
style = xw.XFStyle()    #初始化样式
border = xw.Borders()   #实例化边框
border.top = xw.Borders.THIN    #设置上边框为实线#
border.botton = xw.Borders.DASHED   #设置下边框虚线#
border.left = xw.Borders.DOTTED     #设置左边框为点状线#
border.right = xw.Borders.NO_LINE   #设置右边框为默认值#
style.borders = border      #设置边框样式为我们border样式
worksheet.col(1).width = 256*15     #索引列
worksheet.write(1,1,'设置了边框',style)
worksheet.write(2,1,'未设置边框')
workbook.save('text9.xls')              #后缀一定要写

python设置excel单元格边框

'''
xlwt.Alignment()    #创建对齐对象
xlwt.Alignment()    #水平对齐
xlwt.Alignment().vert   #垂直对齐
实际上,水平也分为居中对齐,左对齐,右对齐等方式,垂直对齐也分为上对齐,下对齐,居中对齐等,具体如下:
HORZ_GENERAL = 0X00
HORZ_LEFT = 0X01
HORZ_CENTER = 0X02
HORZ_RIGHT = 0X03
HORZ_FILLED = 0X04
HORZ_JUSTIFIED = 0X05
HORZ_CENTER_ACROSS_SEL = 0X06
HORZ_DISTRIBUTED = 0X07
VERT_TOP = 0X00
VERT_CENTER = 0X01
VERT_BOTTOM = 0X02
VERT_JUSTIFIED = 0X03
VERT_DISTRIBUTED = 0X04
'''
import xlwt as xw

workbook = xw.Workbook(encoding='utf-8')       #创建工作表
worksheet = workbook.add_sheet('sheet2',cell_overwrite_ok=True)     #创建sheet表
style = xw.XFStyle()    #初始化样式
alignment = xw.Alignment()      #实例化对齐方式
alignment.horz = xw.Alignment.HORZ_CENTER   #设置水平居中
alignment.vert = xw.Alignment.VERT_CENTER   #设置垂直居中对齐
# alignment.horz = 0x02     #设置水平居中
# alignment.vert = 0x01     #设置垂直居中对齐
style.alignment = alignment    #设置对齐方式为我们对齐方式
worksheet.col(1).width = 256*30     #索引列
worksheet.write(1,1,'设置了居中方式',style)
worksheet.write(2,1,'未设置居中方式')
workbook.save('text1.xls')      #后缀一定要写

python设置excel单元格背景填充色

'''
xlwt.Pattern()      #创建背景对象
xlwt.Pattern().Pattern  #设置背景,比如实心填充(xlwt.Pattern.SOLID_PATTERN)
xlwt.Pattern().Pattern_fore_colour  #设置背景颜色(可直接填写颜色索引)
颜色索引如下:
0 --→ black
1 --→ white
2 --→ red
3 --→ green
4 --→ blue
5 --→ yellow
6 --→ magenta 品红色
7 --→ cyan  青色
'''
import xlwt as xw


workbook = xw.Workbook(encoding='utf-8')
worksheet = workbook.add_sheet('sheet1',cell_overwrite_ok=True)     #允许重复写入最好开着
style = xw.XFStyle()    #初始化样式
pattern = xw.Pattern()  #实例化对齐方式
pattern.pattern = xw.Pattern.SOLID_PATTERN  #实心填充#
pattern.pattern_fore_colour = 2     #设置背景颜色#
style.pattern = pattern     #设置背景颜色为我们的背景颜色
worksheet.col(1).width = 256*30  #设置单元格宽度
worksheet.write(1,1,'设置了背景颜色',style)
worksheet.write(2,1,'未设置背景颜色')
workbook.save('test2.xls')      # 后缀名不能忘
  • excel颜色索引
0black
1white
2red
3green
4blue
5yellow
6magenta(品红色)
7cyan(青色)

python设置excel样式练习

import xlwt as xw


wb = xw.Workbook(encoding='utf-8')  #创建工作表
ws = wb.add_sheet('sheet1',cell_overwrite_ok=True)  #创建sheet表
style = xw.XFStyle()    #初始化样例
font = xw.Font()        #点后面的第一个字母要大学,表示实例的创建
font.name = '微软雅黑'  #设置字体
font.bold = True        #设置加粗。True是加粗,False是不加粗
style.font = font       #设置字体为我们font样式
border = xw.Borders()   #边框类的实例化
border.top = xw.Borders.THIN    #设置上边框为实线
border.bottom = xw.Borders.DASHED   #设置下边框为虚线
border.left = xw.Borders.DOTTED     #设置左边框为虚线
style.borders = border  #设置边框为我们的边框样式
alignment = xw.Alignment()  #对齐类的实例化
alignment.horz = xw.Alignment.HORZ_CENTER   #设置水平居中对齐
alignment.vert = xw.Alignment.VERT_CENTER   #设置垂直居中对齐
pattern = xw.Pattern()  #背景色类的实例化
pattern.pattern = xw.Pattern.SOLID_PATTERN  #设置背景,实心填充
pattern.pattern_fore_colour = 5     #设置背景颜色为黄色
style.pattern = pattern     #将背景色设置为我们的背景色
ws.write(0,0,'name',style)
ws.write(0,1,'age',style)
ws.write(1,0,'fage')
ws.write(1,1,'23')
wb.save('test3.xls')    #后缀不能忘记写
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值