Python自动化运维笔记(八):XlsxWriter模块实现Excel操作(下)

运行环境:Python3.6Windwos10 RS1Pycharm
参考书籍—《Python自动化运维--技术与最佳实践》刘天斯著


XlsxWriter模块中常用方法


Workbook类

Workbook类定义:Workbook(filename[,options])
该类可以实现创建一个XlsxWriterWorbook对象。Workbook类表示整个电子表格文件。

  • 参数filenameString类型)为创建的Excel文件存储路径;
  • 参数optionsDict类型)为可选的Workbook参数,作为初始化表格内容;
    • 例如:{'strings_to_numbers' : True}表示使用worksheet.write()方法时激活字符串转换数字。

add_Worksheet([sheetname])方法

添加一个新的工作表,参数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()

Python自动化运维笔记(八):XlsxWriter模块实现Excel操作(下)_第1张图片

add_format([properties])方法

在工作表中创建一个新的格式对象来格式化单元格。参数propertiesDict类型)为指定一个格式属性的字典。

bold = workbook.add_format()
bold.set_bold()                 # 设置为加粗

add_chart(options)方法

在工作表中创建一个图表对象,内部通过insert_chart()方法来实现,参数options(dict类型)为图标指定一个字典属性。

chart = workbook.add_chart({'type' : 'line'})   # 设置线条类型的图表对象

close()方法

workbook.close()    # 关闭工作表文件

Worksheet类

Worksheet代表了一个Excel工作表,是XlsxWriter模块操作Excel内容最核心的一个类,例如将数据写入到单元格或者工作表格式布局等。
Workbook对象通过add_worksheet()方法来创建。

write(row, col, *args)方法

其作用是将普通数据写入到工作表单元格。
参数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()

运行上述代码所产生的工作表
Python自动化运维笔记(八):XlsxWriter模块实现Excel操作(下)_第2张图片

set_row(row, height, cell_format, options)方法

其作用是设置行单元格属性。
- rowint类型),指定行位置,起始下标为0
- heightfloat类型),设置行高,单位为像素;
- cell_formatformat类型)指定格式对象;
- optionsdict类型)设置行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()

Python自动化运维笔记(八):XlsxWriter模块实现Excel操作(下)_第3张图片

set_column(first_col, last_col, cell_format, options)方法

同上一个方法类似,这个方法是用于设置一列或多列单元格属性。

insert_image(row, col, image[,options])方法

其作用是插入图片到指定单元格,支持PNG\JPG\BMP等图片格式
- row为行坐标,col为列坐标,坐标索引起始位置为0
- imagestring类型)为图片路径;
- optionsdict类型)为可选参数,指定图片的位置、比例、链接url等信息。

import xlsxwriter

workbook = xlsxwriter.Workbook('Demo2.xlsx')  # 创建一个名为Dome2.xlsx的表格
worksheet1 = workbook.add_worksheet()  # 添加第一个表单,默认为sheet1

worksheet1.insert_image(2, 2, 'blog.png')       # 在第三行第三列插入一张图片
workbook.close()

插入图片所生成的表格
Python自动化运维笔记(八):XlsxWriter模块实现Excel操作(下)_第4张图片


你可能感兴趣的:(Python,运维)