运行环境:
Python3.6
,Windwos10 RS1
,Pycharm
参考书籍—《Python自动化运维--技术与最佳实践》
刘天斯著
Workbook类
定义:Workbook(filename[,options])
该类可以实现创建一个XlsxWriter
的Worbook
对象。Workbook
类表示整个电子表格文件。
- 参数
filename
(String
类型)为创建的Excel
文件存储路径;- 参数
options
(Dict
类型)为可选的Workbook
参数,作为初始化表格内容;
- 例如:
{'strings_to_numbers' : True}
表示使用worksheet.write()
方法时激活字符串转换数字。
添加一个新的工作表,参数sheetname
(String
类型)为可选参数,默认为sheet1
;比如说按照表单顺序该工作表为第五张,则默认名为sheet5
。
# -*- coding: utf-8 -*-
import xlsxwriter
workbook = xlsxwriter.Workbook('Demo2.xlsx') # 创建一个名为Dome2.xlsx的表格
worksheet1 = workbook.add_worksheet() # 添加第一个表单,默认为sheet1
worksheet2 = workbook.add_worksheet('Files') # 添加一个名为File的表单
worksheet3 = workbook.add_worksheet() # 添加一个表单,默认为sheet3
workbook.close()
在工作表中创建一个新的格式对象来格式化单元格。参数properties
(Dict
类型)为指定一个格式属性的字典。
bold = workbook.add_format()
bold.set_bold() # 设置为加粗
在工作表中创建一个图表对象,内部通过insert_chart()
方法来实现,参数options
(dict
类型)为图标指定一个字典属性。
chart = workbook.add_chart({'type' : 'line'}) # 设置线条类型的图表对象
workbook.close() # 关闭工作表文件
Worksheet
代表了一个Excel
工作表,是XlsxWriter
模块操作Excel
内容最核心的一个类,例如将数据写入到单元格或者工作表格式布局等。
Workbook
对象通过add_worksheet()
方法来创建。
其作用是将普通数据写入到工作表单元格。
参数row
为行标,col
为列标,坐标检索起始值为0
;
*args
无名字参数为数据内容,可以是数字、公式、字符串或格式对象。
write方法已经作为其它更加具体数据类型方法的别名。如以下几种:
write_string()
,写入字符串类型数据;write_number()
,写入数据类型数据;write_blank()
,写入空类型数据;write_formula()
,写入公式型数据;write_datetime()
,写入日期类型数据;wrtie_boolean()
,写入逻辑类型数据;write_url()
,写入超链接类型数据。
import xlsxwriter
workbook = xlsxwriter.Workbook('Demo2.xlsx') # 创建一个名为Dome2.xlsx的表格
worksheet1 = workbook.add_worksheet() # 添加第一个表单,默认为sheet1
worksheet2 = workbook.add_worksheet('Files') # 添加一个名为File的表单
worksheet3 = workbook.add_worksheet() # 添加一个表单,默认为sheet3
worksheet1.write(0, 0, 'Hello') # write_string()
worksheet1.write(1, 0, 1.23) # write_number()
worksheet1.write(2, 0, '') # write_blank()
worksheet1.write(3, 0, None) # write_blank()
worksheet1.write(4, 0, '=SIN(PI()/4)') # write_formula()
workbook.close()
其作用是设置行单元格属性。
-row
(int
类型),指定行位置,起始下标为0
;
-height
(float
类型),设置行高,单位为像素;
-cell_format
(format
类型)指定格式对象;
-options
(dict
类型)设置行hidden
(隐藏)、level
(组合分级)、collapsed
(折叠)。
import xlsxwriter
workbook = xlsxwriter.Workbook('Demo2.xlsx') # 创建一个名为Dome2.xlsx的表格
worksheet1 = workbook.add_worksheet() # 添加第一个表单,默认为sheet1
worksheet1.write('A1', 'Hello') # 在单元格A1写入‘Hello’字符串
cell_format = workbook.add_format({'bold': True}) # 定一个加粗的格式对象
worksheet1.set_row(0, 40, cell_format) # 第一行单元格高度为40px,且引用加粗格式对象
worksheet1.set_row(1, None, None, {'hidden': True}) # 隐藏第2行单元格
workbook.close()
同上一个方法类似,这个方法是用于设置一列或多列单元格属性。
其作用是插入图片到指定单元格,支持
PNG\JPG\BMP
等图片格式
-row
为行坐标,col
为列坐标,坐标索引起始位置为0
;
-image
(string
类型)为图片路径;
-options
(dict
类型)为可选参数,指定图片的位置、比例、链接url
等信息。
import xlsxwriter
workbook = xlsxwriter.Workbook('Demo2.xlsx') # 创建一个名为Dome2.xlsx的表格
worksheet1 = workbook.add_worksheet() # 添加第一个表单,默认为sheet1
worksheet1.insert_image(2, 2, 'blog.png') # 在第三行第三列插入一张图片
workbook.close()