python创建excel图表_Python:使用图表创建Excel工作表
它有点复杂(和/或邪恶),但类似的东西可以跨平台(包括在Linux下)使用JPype来包装SmartXLSExcel Java库。
此示例使用SmartXLS中的简单图表创建(在Charts/ChartSample.class中)示例。#!/usr/bin/env python
import os
import os.path
import jpype
# or wherever your java is installed
os.environ['JAVA_HOME'] = "/usr/lib64/jvm/default-java"
root = os.path.abspath(os.path.dirname(__file__))
SX_JAR = os.path.join(root, 'SX.jar')
options = [
'-Djava.class.path=%s' % SX_JAR
]
jpype.startJVM(jpype.getDefaultJVMPath(), *options)
WorkBook = jpype.JClass('com.smartxls.WorkBook')
ChartShape = jpype.JClass('com.smartxls.ChartShape')
ChartFormat = jpype.JClass('com.smartxls.ChartFormat')
Color = jpype.JClass('java.awt.Color')
workbook = WorkBook()
workbook.setText(0,1,"Jan")
workbook.setText(0,2,"Feb")
workbook.setText(0,3,"Mar")
workbook.setText(0,4,"Apr")
workbook.setText(0,5,"Jun")
workbook.setText(1,0,"Comfrey")
workbook.setText(2,0,"Bananas")
workbook.setText(3,0,"Papaya")
workbook.setText(4,0,"Mango")
workbook.setText(5,0,"Lilikoi")
for col in range(1, 5 + 1):
for row in range(1, 5 + 1):
workbook.setFormula(row, col, "RAND()")
workbook.setText(6, 0, "Total")
workbook.setFormula(6, 1, "SUM(B2:B6)")
workbook.setSelection("B7:F7")
# auto fill the range with the first cell's formula or data
workbook.editCopyRight()
left = 1.0
top = 7.0
right = 13.0
bottom = 31.0
# create chart with it's location
chart = workbook.addChart(left,top,right,bottom)
chart.setChartType(ChartShape.Column)
# link data source, link each series to columns(true to rows).
chart.setLinkRange("Sheet1!$a$1:$F$6", False)
# set axis title
chart.setAxisTitle(ChartShape.XAxis, 0, "X-axis data")
chart.setAxisTitle(ChartShape.YAxis, 0, "Y-axis data")
# set series name
chart.setSeriesName(0, "My Series number 1")
chart.setSeriesName(1, "My Series number 2")
chart.setSeriesName(2, "My Series number 3")
chart.setSeriesName(3, "My Series number 4")
chart.setSeriesName(4, "My Series number 5")
chart.setTitle("My Chart")
# set plot area's color to darkgray
chartFormat = chart.getPlotFormat()
chartFormat.setSolid()
chartFormat.setForeColor(Color.DARK_GRAY.getRGB())
chart.setPlotFormat(chartFormat)
# set series 0's color to blue
seriesformat = chart.getSeriesFormat(0)
seriesformat.setSolid()
seriesformat.setForeColor(Color.BLUE.getRGB())
chart.setSeriesFormat(0, seriesformat)
# set series 1's color to red
seriesformat = chart.getSeriesFormat(1)
seriesformat.setSolid()
seriesformat.setForeColor(Color.RED.getRGB())
chart.setSeriesFormat(1, seriesformat)
# set chart title's font property
titleformat = chart.getTitleFormat()
titleformat.setFontSize(14*20)
titleformat.setFontUnderline(True)
chart.setTitleFormat(titleformat)
workbook.write("./Chart.xls")
jpype.shutdownJVM()
python创建excel图表_Python:使用图表创建Excel工作表相关推荐
- 计算机怎样调整工作表位置,图表布局中调整图表大小和位置及跨工作表移动——想象力电脑应用...
通过前面四篇文章的介绍,对于Excel 2013工作簿中图表的制作应该都有了很清晰的认识和了解.对于最基本的图表元素的添加和编辑都进行了详细的介绍.但我们制作的图表没有修改过大小,且图表位置始终是在表 ...
- 在Excel表格中,任意修改原工作表数据,新工作中内容跟着改变,如何操作?
在Excel表格中,任意修改原工作表数据,新工作中内容跟着改变,如何操作? 目录 在Excel表格中,任意修改原工作表数据,新工作中内容跟着改变,如何操作? 1.例如将原成绩表中的表格,复制到新成绩表 ...
- 在EXCEL中一个窗口显示多个工作表
在EXCEL中一个窗口显示多个工作表 目录 在EXCEL中一个窗口显示多个工作表 1.点击视图选项卡中"全部重排" 2.弹出窗口 在"排列方式"中选点击&quo ...
- excel无法复制粘贴已保护的工作表
可以想办法突破工作表保护啊Excel表格密码保护的解除方法表格受密码保护时,我们修改数据Excel弹出"您试图更改的单元格或图表受保护,因而是只读的.若要修改受保护单元格或图表,请先使用'撤 ...
- vb整合多个excel表格到一张_VB合并工作表下载
VB合并工作表最新版是一款功能强大且界面简洁美观的excel表格合并工具,VB合并工作表最新版操作简便且易上手可以运行稳定,能够为大家解决合成打开卡顿等问题,实现多薄多表合并,VB合并工作 ...
- 在excel UiPath中重命名或更改工作表名称
在excel UiPath中重命名或更改工作表名称 很多时候我们使用excel来自动化业务流程. 我们通过 excel 获取自动化的输入数据,或者我们需要将 excel 作为输出发送给业务用户. 假设 ...
- python创建excel图表_python使用VBA(8):Excel创建图表(简单)
# -*- coding: utf-8 -*- """ Created on Thu Mar 06 11:22:03 2014 @author: Administrato ...
- python 多进程绑定端口_Python教程之创建多进程
点上面"东哥IT笔记",关注并星标 每天一篇业界最新技术分享 现在很多CPU都支持多核,甚至是手机都已经开始支持多核了.而Python的GIL(Global Interpreter ...
- python大文件排序_python实现按创建时间对文件排序
测试中,测试log是经常需要保存一段时间以便于后续查询,但是如果一段时间不删除,会导致硬盘空间变小而影响自动化测试,通常空间太小,自动化测试case就不能调用了,或者即使调用,可能会引起新测试的log ...
- python做表格计算公式_Python自学Day45 制作Excel报表
制作报表 导出Excel报表 报表就是用表格.图表等格式来动态显示数据,所以有人用这样的公式来描述报表: 报表 = 多样的格式 + 动态的数据 有很多的三方库支持在 安装xlwt. pip insta ...
最新文章
- R语言str_extract函数从字符串中抽取匹配模式的字符串
- 设计模式(四)OkHttp的责任链模式
- SVM熟练到精通1:初识SVM
- DNS and Bind (二)
- 通过telnet连接查看memcache服务器
- 一张图图片分块html,css img图片是内联还是块?
- python安装anaconda ubuntu_Ubuntu 16.4 安装anaconda 详细教程
- 为什么联通走归属地ip_为什么企业争先恐后地进行品牌虚拟IP打造?
- 每天Leetcode 刷题 初级算法篇-设计问题-最小栈
- loj10131 暗的连锁
- web 服务器的作用
- adventureworks mysql_AdventureWorks相关
- java闰年_编写java程序判断闰年。
- PowerDesigner导出表结构到word(RTF格式)
- PTC creo 3.0 安装教程
- 前端-table表格隔行变色
- 贴片陶瓷电容的NPO、C0G、X7R、X5R、Y5V、Z5U区别
- (附源码)spring boot校园管理系统 毕业设计 021104
- 斐讯k2刷不死breed K2 22.5.11.14
- 重症肌无力患者不能吃什么
热门文章
- STM32F2系列系统时钟默认配置
- 操作系统原理:全局页面置换算法、工作集页置换、常驻集页置换、抖动问题
- java 点允许没有反应 程序有main_我的java程序点击相应的button键没有反应?我想要实现的功能是点击“左齐”键,按钮左对齐,依此类推;...
- Cpp 对象模型探索 / new 运算符内部调用过程分析
- 邮件服务器收件人数量限制,邮件服务器DBMail
- Kubernetes入门——Kubernetes工作原理及使用
- java entryset_Java HashMap entrySet()方法与示例
- [LeetCode] 86. Partition List Java
- Hadoop技术之Hadoop HA 机制学习
- COGS——T 8. 备用交换机