Workbook类
定义:Workbook(filename[,options])
该类创建一个XlsxWriter的Workbook对象。Workbook代表整个电子表格文件,并且存储在磁盘上。filename为字符串类型,表示创建的excel文件存储路径;
方法:
add_worksheet
用于添加一个新的工作表,sheetname为工作表名称,默认是sheet1
worksheet1 = workbook.add_worksheet() #sheet1 worksheet2 = workbook.add_worksheet('test') #test worksheet3 = workbook.add_worksheet('data') #data worksheet4 = workbook.add_worksheet() #sheet4
add_format
add_format([properties])方法,用于在工作表中创建一个新的格式对象来格式化单元格。
bold = workbook.add_format({'bold': True}) 等价的语句如下: bold = workbook.add_format() bold.set_bold()
add_chart
add_chart(options)方法,用于在工作表中创建一个图表对象,内部是通过insert_chart()方法来实现的,参数为dict类型,是为图标指定一个字典属性。
例如设置一个线条行的图表对象,代码如下:
chart = workbook.add_chart({'type': 'line'})
close
close()方法,作用是关闭工作表文件,如:
workbook.close()
Worksheet类
代表一个excel工作表,是比较核心的一个类。Worksheet对象不能直接实例化,而是通过Workbook对象调用add_worksheet()方法来创建,常见的方法如下:
方法:
write
row:行坐标; col:列坐标; 坐标索引起始值为0 *args:无名字参数为数据内容,可为数字,公式,字符串或格式对象。
为了简化不同数据类型的写入过程,write方法已作为其他更加具体的数据类型方法的别名,如:
write.string():写入字符串类型数据 wirte_number():写入数字型数据 write_blank():写入空类型数据 write_formula():写入公式型数据 write_datetime():写入日期型数据 wirte_boolean():写入逻辑型数据 write_url():写入超链接型数据
Demo
# -*- coding:utf-8 -*- # @Time : 2018/12/4 18:18 # @Author : Wangxiao # @FileName: xls.py import xlsxwriter # #新建excel表 workbook = xlsxwriter.Workbook('D:/hello.xlsx') #新建sheet(sheet的名称为"sheet1") worksheet = workbook.add_worksheet() # 定义表头内容 Title = ['实例ID', '实例配置', '实例名', '地域', '安全组', 'EIP'] # 定义标题格式 merge_format = workbook.add_format({ 'bold': True, 'border': 1, 'align' : 'center', 'valign': 'vcenter', 'fg_color' : '#E0FFFF' }) # 定义表头格式 title_format = workbook.add_format({ 'bold': True, 'border': 1, 'align': 'center', 'valign': 'vcenter', 'fg_color': '#87CEFF' }) # 定义内容格式 data_format = workbook.add_format({ 'border': 1, 'align': 'center', 'valign': 'vcenter', 'fg_color': '#EED8AE' }) # 拟数据 data = [['i-1','1C1G','demo1','ap-shanghai','sg-1','172.20.2.10'], ['i-2','1C1G','demo2','ap-shanghai','sg-2','172.20.2.11'], ['i-3','1C1G','demo3','ap-shanghai','sg-3','172.20.2.12']] # 合并 A1 - F1 单元格作为标题,传入参数:1:合并单元格,2:标题文字,3:标题格式 worksheet.merge_range('A1:F1','ECS信息表',merge_format) # 设置列宽,指定 A - F 的列宽为 25 worksheet.set_column('A:F',25) # 设置行号,指定行数,高度,A1 为 0,A2 为 1,以此类推 worksheet.set_row(0,60) # write_row ,写行,传入参数:1:行,2:内容,3:格式 worksheet.write_row('A2',Title,title_format) i = 3 for ECS in data: worksheet.write_row('A' + str(i),ECS,data_format) i += 1 # 将excel文件保存关闭,如果没有这一行运行代码会报错 workbook.close()
我是你儿子
@RockyWen 你非要认我那我只能勉强收下你这个傻儿子了