python实现excel的自动化

需要使用到的包

import xlrd #read

import xlwt
import datatime

读取excel

data = xlrd.open_workbook(‘filename’)

读取sheet

# 通过索引顺序获取
table = data.sheets()[0]
# 通过索引顺序获取
table = data.sheet_by_index(0)
# 通过名称获取
table = data.sheet_by_name('Sheet1')

读取sheet的工作表名

# 返回book中所有工作表的名字
names = data.sheet_names()
print(names)

工作表中的行/列读取

""" 工作表中行/列的操作 """
# 获取该sheet中的有效行数
nrows = table.nrows
print(nrows)
row_index, col_index = 0, 0
# 获取某行信息
print(table.row(row_index))
print(table.row_slice(row_index))

# 获取某列信息
print(table.col(col_index))
print(table.col_slice(col_index))

# 返回某行的数据类型列表
print(table.row_types(row_index, start_colx=0, end_colx=None))
print(table.row_types(1, start_colx=0, end_colx=None))

# 返回某行的数值
print(table.row_values(row_index, start_colx=0, end_colx=None))
# 返回某行的有效单元格长度
print(table.row_len(row_index))

单元格读取(单元格对象,单元格数据类型,单元格数据)

""" 单元格操作 """
# 返回单元格对象
print(table.cell(row_index, col_index))
# 返回单元格中的数据类型
print(table.cell_type(row_index, col_index))
# 返回单元格中的数据
print(table.cell_value(row_index, col_index))

excel的写入

创建excel,创建sheet,以及另存为

  • 设置编码
  • 创建或者读取sheet
  • 设置自动化操作
# 创建一个workbook 设置编码
workbook = xlwt.Workbook(encoding='utf-8')
# 创建一个worksheet
worksheet = workbook.add_sheet('国贸写字楼')
# 写入excel,参数对应 行, 列, 值
worksheet.write(0, 0, label='人员')
# 保存文件
workbook.save('./楼宇安防2.xls')

设置字体样式’xlwt.XFStyle()’

""" 设置字体样式 """
# 初始化样式
style = xlwt.XFStyle()
# 为样式创建字体
font = xlwt.Font()
font.name = 'Times New Roman'
# 加粗
font.bold = True
# 下划线
font.underline = True
# 斜体字
font.italic = True
# 设定样式
style.font = font
worksheet.write(0, 1, '体温', style)  # 带样式的写入
workbook.save('楼宇安防2.xls')

设置单元格宽度

""" 设置单元格宽度 """
# worksheet = workbook.add_sheet('世贸天阶')
worksheet.write(0, 2, '时间')
# 设置单元格宽度
worksheet.col(0).width = 3333
workbook.save('./楼宇安防2.xls')

日期

""" 添加日期到单元格 """
import datetime

# 获取样式
style = xlwt.XFStyle()
# Other options: D-MMM-YY, D-MMM, MMM-YY, h:mm, h:mm:ss, h:mm, h:mm:ss, M/D/YY h:mm, mm:ss, [h]:mm:ss, mm:ss.0
style.num_format_str = 'M/D/YY'
worksheet.write(1, 2, datetime.datetime.now(), style)
workbook.save('楼宇安防2.xls')

向单元格添加公式

""" 向单元格添加一个公式 """
worksheet.write(1, 1, 37.4)
worksheet.write(2, 1, 36.5)
# 求两个单元格的平均值
worksheet.write(3, 1, xlwt.Formula('AVERAGE(B2,B3)'))
workbook.save('楼宇安防2.xls')

向单元格添加链接

""" 向单元格添加一个链接 """
worksheet.write(1, 3, xlwt.Formula('HYPERLINK("http://www.baidu.com";"baidu")'))
workbook.save('楼宇安防2.xls')

合并行与列 , 创建字体格式

write_merge(行开始, 行结束,列开始, 列结束, ‘数据内容’)

font = xlwt.Font()

""" 合并列和行 """
# write_merge(行开始, 行结束,列开始, 列结束, '数据内容')
# 创建字体
font = xlwt.Font()
# 加粗
font.bold = True
style = xlwt.XFStyle()
style.font = font
worksheet.write_merge(4, 5, 0, 2, '备注:需要检查是否佩戴口罩', style)
workbook.save('楼宇安防2.xls')

单元格添加边框和背景色

""" 给单元格添加边框和背景色 """
# 边框样式
borders = xlwt.Borders()
borders.left = xlwt.Borders.DASHED
borders.right = xlwt.Borders.DASHED
borders.top = xlwt.Borders.DASHED
borders.bottom = xlwt.Borders.DASHED
borders.left_colour = 0x40
borders.right_colour = 0x40
borders.top_colour = 0x40
borders.bottom_colour = 0x40

# 创建样式
style = xlwt.XFStyle()
style.borders = borders
worksheet.write(1, 0, '张飞', style)
worksheet.write(2, 0, '关羽', style)
workbook.save('楼宇安防2.xls')
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值