如何用自动化办公实现Excel绘制图表?

 

所以我个人在工作当中还是积累来一些 Excel 自动化相关都经验都,在后面都文章当中,我会陆续推出 Excel、PDF 等等相关软件都自动化内容,感兴趣都同学记得来看哦!

今天我们的主题就是为 Excel 自动添加图表,实现起来很简单,保证五分钟完事儿!

基本原理

这里我们使用 xlsxwriter 这个库,简直不要太强大!

首先我们先来看下如何通过这个库来编辑 Excel 呢

import xlsxwriter

创建一个excel

workbook = xlsxwriter.Workbook("chart.xlsx")

创建一个sheet

worksheet = workbook.add_worksheet()

对于创建 Excel 和新增 sheet 都没啥说的,基本套路搞定!

自定义样式,加粗

bold = workbook.add_format({bold: 1})在线表单

向excel中写入数据,建立图标时要用到

headings = [Number, testA, testB]

data = [

[2020-9-1, 2020-9-2, 2020-9-3, 2020-9-4, 2020-9-5, 2020-9-6],    [10, 40, 50, 20, 10, 50],    [30, 60, 70, 50, 40, 30],

]

写入表头

worksheeT.Write_row(A1, headings, bold)

写入数据

worksheet.write_column(A2, data[0])worksheet.write_column(B2, data[1])worksheet.write_column(C2, data[2])

这里,我们定义了一些测试数据,然后通过 write_row 函数写入表头,通过 write_column 函数来按列写入数据,此时我们得到的 Excel 应该是如下的

 

画图开始

下面就是重点了,我们要看是根据测试数据来画图表了

创建一个柱状图(line chart)

chart_col = workbook.add_chart({type: line})在线表单

配置第一个系列数据

chart_col.add_series({

这里的sheet1是默认的值,因为我们在新建sheet时没有指定sheet名

如果我们新建sheet时设置了sheet名,这里就要设置成相应的值

name: =Sheet1!$B$1,categories: =Sheet1!$A$2:$A$7,values:   =Sheet1!$B$2:$B$7,line: {color: red},})

配置第二个系列数据

chart_col.add_series({

name: =Sheet1!$C$1,categories:  =Sheet1!$A$2:$A$7,values:   =Sheet1!$C$2:$C$7,line: {color: yellow},

})

通过 add_chart 函数来新增一个图表,type 就是 图表都类型而对于 add_series 就是具体都图表数据信息了,相信也是一目了然的!

最后再设置 X、Y 轴的信息,并设置下图表所在的位置就完成了

设置图表的title 和 x,y轴信息

chart_col.set_title({name: The test 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分钟实现数据可视化分析!非常方便~

THE END
如何用自动化办公实现Excel绘制图表?
  所以我个人在工作当中还是积累来一些 Excel 自动化相关都经验都,在后面都文章当中,我会陆续推出 Excel、PDF 等等相关软件都自动化内容,感兴趣都同学……