它有点复杂(和/或邪恶),但类似的东西可以跨平台(包括在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工作表相关推荐

  1. 计算机怎样调整工作表位置,图表布局中调整图表大小和位置及跨工作表移动——想象力电脑应用...

    通过前面四篇文章的介绍,对于Excel 2013工作簿中图表的制作应该都有了很清晰的认识和了解.对于最基本的图表元素的添加和编辑都进行了详细的介绍.但我们制作的图表没有修改过大小,且图表位置始终是在表 ...

  2. 在Excel表格中,任意修改原工作表数据,新工作中内容跟着改变,如何操作?

    在Excel表格中,任意修改原工作表数据,新工作中内容跟着改变,如何操作? 目录 在Excel表格中,任意修改原工作表数据,新工作中内容跟着改变,如何操作? 1.例如将原成绩表中的表格,复制到新成绩表 ...

  3. 在EXCEL中一个窗口显示多个工作表

    在EXCEL中一个窗口显示多个工作表 目录 在EXCEL中一个窗口显示多个工作表 1.点击视图选项卡中"全部重排" 2.弹出窗口 在"排列方式"中选点击&quo ...

  4. excel无法复制粘贴已保护的工作表

    可以想办法突破工作表保护啊Excel表格密码保护的解除方法表格受密码保护时,我们修改数据Excel弹出"您试图更改的单元格或图表受保护,因而是只读的.若要修改受保护单元格或图表,请先使用'撤 ...

  5. vb整合多个excel表格到一张_VB合并工作表下载

          VB合并工作表最新版是一款功能强大且界面简洁美观的excel表格合并工具,VB合并工作表最新版操作简便且易上手可以运行稳定,能够为大家解决合成打开卡顿等问题,实现多薄多表合并,VB合并工作 ...

  6. 在excel UiPath中重命名或更改工作表名称

    在excel UiPath中重命名或更改工作表名称 很多时候我们使用excel来自动化业务流程. 我们通过 excel 获取自动化的输入数据,或者我们需要将 excel 作为输出发送给业务用户. 假设 ...

  7. python创建excel图表_python使用VBA(8):Excel创建图表(简单)

    # -*- coding: utf-8 -*- """ Created on Thu Mar 06 11:22:03 2014 @author: Administrato ...

  8. python 多进程绑定端口_Python教程之创建多进程

    点上面"东哥IT笔记",关注并星标 每天一篇业界最新技术分享 现在很多CPU都支持多核,甚至是手机都已经开始支持多核了.而Python的GIL(Global Interpreter ...

  9. python大文件排序_python实现按创建时间对文件排序

    测试中,测试log是经常需要保存一段时间以便于后续查询,但是如果一段时间不删除,会导致硬盘空间变小而影响自动化测试,通常空间太小,自动化测试case就不能调用了,或者即使调用,可能会引起新测试的log ...

  10. python做表格计算公式_Python自学Day45 制作Excel报表

    制作报表 导出Excel报表 报表就是用表格.图表等格式来动态显示数据,所以有人用这样的公式来描述报表: 报表 = 多样的格式 + 动态的数据 有很多的三方库支持在 安装xlwt. pip insta ...

最新文章

  1. R语言str_extract函数从字符串中抽取匹配模式的字符串
  2. 设计模式(四)OkHttp的责任链模式
  3. SVM熟练到精通1:初识SVM
  4. DNS and Bind (二)
  5. 通过telnet连接查看memcache服务器
  6. 一张图图片分块html,css img图片是内联还是块?
  7. python安装anaconda ubuntu_Ubuntu 16.4 安装anaconda 详细教程
  8. 为什么联通走归属地ip_为什么企业争先恐后地进行品牌虚拟IP打造?
  9. 每天Leetcode 刷题 初级算法篇-设计问题-最小栈
  10. loj10131 暗的连锁
  11. web 服务器的作用
  12. adventureworks mysql_AdventureWorks相关
  13. java闰年_编写java程序判断闰年。
  14. PowerDesigner导出表结构到word(RTF格式)
  15. PTC creo 3.0 安装教程
  16. 前端-table表格隔行变色
  17. 贴片陶瓷电容的NPO、C0G、X7R、X5R、Y5V、Z5U区别
  18. (附源码)spring boot校园管理系统 毕业设计 021104
  19. 斐讯k2刷不死breed K2 22.5.11.14
  20. 重症肌无力患者不能吃什么

热门文章

  1. STM32F2系列系统时钟默认配置
  2. 操作系统原理:全局页面置换算法、工作集页置换、常驻集页置换、抖动问题
  3. java 点允许没有反应 程序有main_我的java程序点击相应的button键没有反应?我想要实现的功能是点击“左齐”键,按钮左对齐,依此类推;...
  4. Cpp 对象模型探索 / new 运算符内部调用过程分析
  5. 邮件服务器收件人数量限制,邮件服务器DBMail
  6. Kubernetes入门——Kubernetes工作原理及使用
  7. java entryset_Java HashMap entrySet()方法与示例
  8. [LeetCode] 86. Partition List Java
  9. Hadoop技术之Hadoop HA 机制学习
  10. COGS——T 8. 备用交换机