前面分享了使用xlsxwriter创建excel和写入数据GUC:(原创)xlsxwriter,python excel 写入数据\图表等操作_创建、写入(一)​zhuanlan.zhihu.com

xlsxwrite除了常规数据操作,还可以灵活,精细的操作图表,这也为吸引我要分享的原因之一,对于固定格式报表可以自动输出,大大提升日常的办公效率

先用上一篇文章的方法写入数据

import xlsxwriter

wb = xlsxwriter.Workbook("e:\\xlsxwriter\\filename.xlsx")

ws = wb.add_worksheet("案例")

# 数据

data = [

('地区','1月销售量','2月销售量'),

('广州',52641,45641,),

('上海',65444,54584,),

('北京',57485,65484,),

('深圳',42314,85214,)

]

#字段格式

header = {

'bold' : True, #粗体

'font_name' : '微软雅黑',

'font_size' : 10,

'border' : True, #边框线

'align' : 'center', #水平居中

'valign' : 'vcenter', #垂直居中

'bg_color' : '#66DD00' #背景颜色

}

text = {

'font_name' : '微软雅黑',

'font_size' : 9,

'border' : True,

'align' : 'left', #左对齐

'valign' : 'vcenter'

}

headerpm = wb.add_format(header)

textpm = wb.add_format(text)

ws.set_column('C:C',13) #C列宽度

for row,rowdata in enumerate(data):

for col,coldata in enumerate(rowdata):

if row==0:

ws.write(row,col,coldata,headerpm)

else:

ws.write(row, col, coldata, textpm)

wb.close()

结果数据如下:

使用Workbook的add_chart()方法创建图表对象,以字典表的方式传入参数

chart = workbook.add_chart({'type': 'column'}) #创建一个柱状图

type表示要创建的图表类型,值及对应类型如下:area:面积图

bar:条形图

column:柱状图

line:折线图

pie:饼图

doughnut:圆环图

scatter:散点图

stock:股价图

radar:雷达图

使用add.series()数据系列添加的图表,以字典表的方式传入参数

data1 = {

'name': '案例!$B$1',

'categories' : '案例!$A$2:$A4',

'values' : '案例!$B$2:$B4'

}name:该数据系列的名称 ,可以填写引用单元格值,也可以直接填写值

categories:图表类别标签

values:该数据系列的值

values选项为必须,其他选项为可选

categories、values可以使用单元格的名称,也可以使用行/列索引表示,即[所在的sheet名, 首行索引, 首列索引, 尾行索引,尾列索引 ]

以下表示同上

data1 = {

'name': '1月销售量',

'categories' : ['案例',1,0,4,0],

'values' : ['案例',1,1,4,1]

}

图表中增加数据系列

chart.add_series(data1)

使用Worksheet的insert_chart()方法插入工作表中,需指定起始位置

ws.insert_chart('B8',chart) #在B10单位格位置插入图表

结果如下

再插入2月销售量数据系列

data1 = {

'name': '案例!$B$1',

'categories' : '案例!$A$2:$A4',

'values' : '案例!$B$2:$B4'

}

data2 = {

'name': '案例!$C$1',

'categories' : '案例!$A$2:$A4',

'values' : '案例!$C$2:$C4'

}

chart.add_series(data1)

chart.add_series(data2)

ws.insert_chart('B8',chart)

结果如下

再美化一下表格

'overlap' : -20

overlap:两个数据系列之间重叠的距离,范围+/-100,默认值为0,适用于条形图/柱状图

如下图红框的距离

'gap' : 100

gap:在条形图/柱形图中数据系列之间的间隔。范围是0-500。默认值是150

如下图红框的距离

'data_labels' : {'value':True,'font':{'name':'微软雅黑','size':9}}

添加数据标签,并设置数据标签的字体为微软雅黑,大小为9

如下图红框部分

设置X轴参数,斜体,大小10,加粗

chart.set_x_axis(

{

'num_font': {'italic': True,'size':11,'bold':True,}

}

)

结果见下图

设置Y轴参数,去除Y轴及背景网格线

chart.set_y_axis(

{

'major_gridlines':{'visible':False}, #去除Y轴背景网格线

'visible':None #去除Y轴

}

)

结果如下图

设置图表标题

chart.set_title(

{

'name':'1-2月销售量',

'name_font': {'name': '微软雅黑'}

}

)

结果如下图

设置图表大小,宽620,高350

chart.set_size({'width':620,'height':350})

结果如下图

sheet完整如下图

去掉图表边框

chart.set_chartarea({'border':{'none':True}})

结果如下图

隐藏工作表网格线

ws.hide_gridlines(2)

#参数0,不隐藏

#参数1,仅隐藏打印的网格线

#参数2,隐藏屏幕和打印的网格线

结果如下图

最后附上完整代码

import xlsxwriter

wb = xlsxwriter.Workbook("e:\\xlsxwriter\\filename.xlsx")

ws = wb.add_worksheet("案例")

# 数据

data = [

('地区','1月销售量','2月销售量'),

('广州',52641,45641,),

('上海',65444,54584,),

('北京',57485,65484,),

('深圳',42314,85214,)

]

#字段格式

header = {

'bold' : True, #粗体

'font_name' : '微软雅黑',

'font_size' : 10,

'border' : True, #边框线

'align' : 'center', #水平居中

'valign' : 'vcenter', #垂直居中

'bg_color' : '#66DD00' #背景颜色

}

text = {

'font_name' : '微软雅黑',

'font_size' : 9,

'border' : True,

'align' : 'left', #左对齐

'valign' : 'vcenter'

}

headerpm = wb.add_format(header)

textpm = wb.add_format(text)

ws.set_column('C:C',13) #C列宽度

for row,rowdata in enumerate(data):

for col,coldata in enumerate(rowdata):

if row==0:

ws.write(row,col,coldata,headerpm)

else:

ws.write(row, col, coldata, textpm)

chart = wb.add_chart({'type': 'column'})

data1 = {

'name': '案例!$B$1',

'categories' : '案例!$A$2:$A4',

'values' : '案例!$B$2:$B4',

'overlap' : -20,

'gap' : 100,

'data_labels' : {'value':True,'font':{'name':'微软雅黑','size':9}}

}

data2 = {

'name': '案例!$C$1',

'categories' : '案例!$A$2:$A4',

'values' : '案例!$C$2:$C4',

'data_labels': {'value': True, 'font': {'name': '微软雅黑', 'size': 9}}

}

chart.set_x_axis(

{

'num_font': {'italic': True,'size':11,'bold':True,}

}

)

chart.set_y_axis(

{

'major_gridlines':{'visible':False},

'visible':None

}

)

chart.set_title(

{

'name':'1-2月销售量',

'name_font': {'name': '微软雅黑'}

}

)

chart.set_size({'width':620,'height':350})

chart.set_chartarea({'border':{'none':True}})

ws.hide_gridlines(2)

chart.add_series(data1)

chart.add_series(data2)

ws.insert_chart('B8',chart)

wb.close()

xlsxwriter去掉网格线_(原创)xlsxwriter,python excel 写入数据\图表等操作_图表操作(二)...相关推荐

  1. python写入excel表格数据绘制图表_(原创)xlsxwriter,python excel 写入数据\图表等操作_图表操作(二)...

    前面分享了使用xlsxwriter创建excel和写入数据GUC:(原创)xlsxwriter,python excel 写入数据\图表等操作_创建.写入(一)​zhuanlan.zhihu.com ...

  2. python xlwt写入数据超过范围限制_用xlrd包读取Excel文件-尽量不用xlwt包写入Excel文件最多能支持65536行数据。...

    1. 引有包 import xlrd1 打开文件 data = good_ivy = xlrd.open_workbook(r'商品库存.xls')1 2 获取你要打开的sheet文件 # table ...

  3. Python利用xlsxwriter实现对Excel写入数据的样式调整(字体,居中等)

    声明:参考大佬文章 参考网上资料发现很少有用xlsxwriter实现用Python对Excel写入数据的同时进行字体样式调整操作的,因为我用的也是xlsxwriter,所以查找总结了一个用xlsxwr ...

  4. python的excel操作_通过实例学习Python Excel操作

    这篇文章主要介绍了通过实例学习Python Excel操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.python 读取Excel ? 1 ...

  5. Python入门到实战(五)自动化办公、pandas操作Excel、数据可视化、绘制柱状图、操作Word、数据报表生成、pip install国内镜像下载

    Python入门到实战(五)conda使用.pandas操作Excel.数据可视化.绘制柱状图.操作Word.数据报表生成.pip install国内镜像下载 conda使用 常用操作 配置VS+Co ...

  6. C#如何向EXCEL写入数据

    C#如何向EXCEL写入数据 我按着微软技术支持网上的方法写入数据:使用"自动化"功能逐单元格传输数据,代码如下: // Start a new workbook in Excel ...

  7. js向excel写入数据的案例

    要在 JavaScript 中向 Excel 写入数据,您可以使用第三方库来实现.其中一种可行的方法是使用 SheetJS 库.它是一个开源库,可以在浏览器中读写 Excel 文件. 以下是一个简单的 ...

  8. JAVA 向带有公式的excel写入数据,获取公式计算结果

    JAVA 向带有公式的excel写入数据,获取公式计算结果 public static void main(String[] args) throws Exception {String url = ...

  9. python更新excel内容_[原创]使用 Python 读写 Excel 文件(一)更新

    项目要求 如果说是 Office 办公软件使得 Windows 成为主流的操作系统,那么 Excel 就是使得微软硬起来的法宝! Word 和 PowerPoint 都有不相上下的对手,但 Excel ...

  10. 如何将python数据输入到excel中_如何使用python将大量数据导出到Excel中的小技巧之一...

    如何使用python将大量数据导出到Excel中的小技巧 (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢 ...

最新文章

  1. SFB 项目经验-30-SFB与SFB联盟-IM-正常-状态-不正常
  2. VMware虚拟机下安装Ubuntu16.04镜像完整教程
  3. MyBatis-Plus_查询返回实体对象还是map?
  4. 用soapUI测试webservice
  5. 更自由的阿里云API工具JCLI
  6. 白云区五措施扶持服务外包及呼叫中心产业发展
  7. redis mysql原理_Canal(redis与mysql数据一致性)
  8. 双指针 -- 验证回文串
  9. 使用qq邮箱服务器来实现laravel的邮件发送
  10. 镁光固态硬盘用什么软件测试寿命,最简单的方法:如何查看SSD可以使用多长时间?固态硬盘寿命测试方法[详细]...
  11. Excel自定义函数
  12. 测试工具(一)——Abbot 测试SWT
  13. C#实现自动升级(附源码)
  14. 在Android终端模拟器中操作adb调试命令
  15. lisp pl线线段数_编写lisp程序多条多段线连接成一条多段线
  16. 关于学习Qt编程的好书精品推荐
  17. MEM/MBA数学强化(07)几何
  18. .Net Core 6.0 解决跨域
  19. JavaCV音视频开发宝典:JavaCV混合屏幕录屏和系统声音录制mp4视频文件(windows桌面屏幕和系统声音混合录制)
  20. 繁易平台对接阿里云平台: MQTT方式

热门文章

  1. 嵌入式 h.264中帧与场
  2. 多元函数微分法及其应用
  3. layui icon服务器上显示不出来,关于layui的动态图标不显示的解决方法
  4. Matlab读取excel文件绘制折线图
  5. 浪潮服务器支持pcie ssd硬盘吗,PCI-E与SATA SSD如何选?一分钟看懂
  6. 计算长方体、四棱锥的表面积和体积(Java)
  7. HUGO复制咪蒙(含死法)
  8. Express 项目启动
  9. 如何更高效的学习SLAM?
  10. h5 ios 切入后台运行倒计时问题