import xlsxwriter模块

xlsxWriter支持多种excle功能

# 这是注释,忽略不执行
# 先pip install xlsxwriter 安装此模块
import xlsxwriter

# 在E:\python路径下创建一个名称为lwh.zhexiantu.xlsx的excel文件
workbook = xlsxwriter.Workbook("E:\python\lwh.zhuzhuangtu.xlsx")
# 创建一个名称为cs的工作表sheet
worksheet = workbook.add_worksheet('cs')

# 自定义样式,bold加粗,italic斜体,1就是true,0就是false,格式化到单元格
bold = workbook.add_format({'bold': 1})

# --------1、准备数据并写入excel---------------
# 定义向excel中写入的数据,建立图标时要用到(headings列表是表头行的数据/data列表是表列的数据)
headings = ['Number', 'testA', 'testB']
data = [
['2017-9-1', '2017-9-2', '2017-9-3', '2017-9-4', '2017-9-5', '2017-9-6'],
[10, 40, 50, 20, 10, 50],
[30, 60, 70, 50, 40, 30],
]

# 写入表头,A1单元格所在的行,该行写入的数据,样式加粗
worksheet.write_row('A1', headings, bold)

# 写入数据(单元格所在的列,列写入的数据)
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
worksheet.write_column('C2', data[2])

# --------2、生成图表并插入到excel---------------
# 创建一个折线图(line chart)
#chart_col = workbook.add_chart({'type': 'line'})

# 创建一个柱状图(column chart),折线图和柱状图只需要改这行代码
chart_col = workbook.add_chart({'type': 'column'})

# 配置第一个系列数据
chart_col.add_series({
# 这里的sheet1是默认的值,因为我们在新建sheet时没有指定sheet名
# 如果我们新建sheet时设置了sheet名,这里就要设置成相应的值
#名称是B1单元格(TestA)
'name': '=cs!$B$1',
#X轴横坐标A2-A7
'categories': '=cs!$A$2:$A$7',
#Y抽纵坐标B2-B7
'values': '=cs!$B$2:$B$7',
#折线格式
'line': {'color': 'red'},
})


# 配置第二个系列数据
chart_col.add_series({
'name': '=cs!$C$1',
'categories': '=cs!$A$2:$A$7',
'values': '=cs!$C$2:$C$7',
'line': {'color': 'yellow'},
})

# 配置第二个系列数据(用了另一种语法)
# chart_col.add_series({
# 'name': ['cs', 0, 2],
# 'categories': ['cs', 1, 0, 6, 0],
# 'values': ['cs', 1, 2, 6, 2],
# 'line': {'color': 'yellow'},
# })

# 设置图表的表头 title 和 x,y轴名称信息
chart_col.set_title({'name': 'The xxx site Bug Analysis'})
chart_col.set_x_axis({'name': 'Test number'})
chart_col.set_y_axis({'name': 'Sample length (mm)'})


# 设置图表的风格
chart_col.set_style(1)

# 把图表插入到worksheet并设置偏移
worksheet.insert_chart('A10', chart_col, {'x_offset': 25, 'y_offset': 10})

workbook.close()

效果图1:

 

 效果图2:

 

posted @ 2020-08-20 11:41  蜕变1  阅读(527)  评论(0编辑  收藏  举报