专业的编程技术博客社区

网站首页 > 博客文章 正文

Excel自动化处理相关知识(excel自动化处理相关知识点总结)

baijin 2024-10-24 08:44:20 博客文章 6 ℃ 0 评论

一、读取excel表格的数据——xlrd

1.1 安装

可使用pycharm搜索xlrd安装,也可在virtualenv中执行以下操作: pip install xlrd


1.2 使用方法

import xlrd


#读取目标excel表

xlsx = xlrd.open_workbook('d:/7月下旬入库表.xlsx')


#读取excel表中第一个工作簿

table = xlsx.sheet_by_index(0)


#读取第一行,第一列的数据

print(table.cell_value(0, 0))


# 获取所有sheet名字:xlsx.sheet_names()

# 获取sheet数量:xlsx.nsheets


二、将数据写入excel表——xlwt

2.1 安装

可使用pycharm搜索xlwt安装,也可在virtualenv中执行以下操作: pip install xlwt


2.2 使用方法

import xlwt

#创建一个excel表对象

new_workbook = xlwt.Workbook()


#在excel表中创建一个新的工作簿

worksheet = new_workbook.add_sheet('new_test')


#在工作簿中的第一行第一列写入内容

worksheet.write(0, 0, 'test')


#将excel表保存到本地

new_workbook.save('d:/test.xls')


三、实战案例一

3.1 需求:逐行读取旧表的内容,将其写入到新表中


3.2 代码实现:

import xlrd,xlsxwriter


#读取旧表

xlsx = xlrd.open_workbook('d:/7月下旬入库表.xlsx')


#创建新表

new_workbook = xlsxwriter.Workbook('d:/test.xlsx')


#创建新工作簿

worksheet = new_workbook.add_worksheet()


#读取旧表的第一个工作簿

table = xlsx.sheet_by_index(0)


#遍历,将读取到的数据写入到新表

for i in range(0,table.nrows):

for j in range(0,table.ncols):

worksheet.write(i, j, table.cell_value(i, j))


new_workbook.close()


四、工具类xlutils和写入数据的样式

4.1 复制模板

from xlutils.copy import copy


tem_excel = xlrd.open_workbook('D:/日统计.xls', formatting_info=True)

tem_sheet = tem_excel.sheet_by_index(0)


#将旧表的样式复制到新表中

new_excel = copy(tem_excel)

new_sheet = new_excel.get_sheet(0)


4.2 设置写入数据的样式

style = xlwt.XFStyle()


#设置字体

font = xlwt.Font()

font.name = '微软雅黑'

font.bold = True

font.height = 360

style.font = font


#设置边框为细边框

borders = xlwt.Borders()

borders.top = xlwt.Borders.THIN

borders.bottom = xlwt.Borders.THIN

borders.left = xlwt.Borders.THIN

borders.right = xlwt.Borders.THIN

style.borders = borders


#设置对齐格式为居中对齐

alignment = xlwt.Alignment()

alignment.horz = xlwt.Alignment.HORZ_CENTER

alignment.vert = xlwt.Alignment.VERT_CENTER

style.alignment = alignment


#以指定的格式写入数据

new_sheet.write(2, 1, 12, style)

new_sheet.write(3, 1, 18, style)

new_sheet.write(4, 1, 19, style)

new_sheet.write(5, 1, 15, style)


#保存

new_excel.save('D:/填写.xls')

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表