python使用VBA:Excel创建图表(转)
# -*- coding: utf-8 -*-
"""
Created on Thu Mar 06 11:22:03 2014
@author: Administrator
"""
import win32com.client
from win32com.gen_py import msof,mspp,msxl
from string import uppercase
from pandas import Series
#%% 将常量发布到全局命名空间中去
g = globals()
for c in dir(msof.constants) : g[c] = getattr(msof.constants, c)
for c in dir(mspp.constants) : g[c] = getattr(mspp.constants, c)
for c in dir(msxl.constants) : g[c] = getattr(msxl.constants, c)
#%% 生成行名和坐标的对应关系表
luc = list(uppercase)
columns = Series((luc + [i+j for i in luc for j in luc])[:256],range(1,257))
def cellName(nRow,nCol):
return columns[nCol]+str(nRow)
#%% 打开一个测试文件
application = win32com.client.Dispatch('Excel.Application')
application.Visible = True
workbook = application.Workbooks.Open(r'c:\sample1.xls')
sheets = workbook.Sheets
sheet1 = sheets.Item(1)
#%% 获取数据范围
nRow = sheet1.UsedRange.Rows.Count
nCol = sheet1.UsedRange.Columns.Count
rangeName = cellName(1,1) + ':' + cellName(nRow,nCol)
rangeName
#%% 创建图表
chart = workbook.Charts.Add()
chart.ChartType = xlLine
chart.SetSourceData(sheet1.Range(rangeName))
# 遍历所有系列
seriesCollection = chart.SeriesCollection()
seriesCollection.Count
for i in seriesCollection:
print(i)
# 参考http://peltiertech.com/Excel/ChartsHowTo/QuickChartVBA.html
#%% 图表类型说明
ChartType = {'xlLine':'折线图',
'xlLineMarkersStacked':'堆积数据点折线图',
'xlLineStacked':'堆积折线图',
'xlPie':'饼图',
'xlPieOfPie':'复合饼图',
'xlPyramidBarStacked':'堆积条形棱锥图',
'xlPyramidCol':'三维柱形棱锥图',
'xlPyramidColClustered':'簇状柱形棱锥图',
'xlPyramidColStacked':'堆积柱形棱锥图',
'xlPyramidColStacked100':'百分比堆积柱形棱锥图',
'xlRadar':'雷达图',
'xlRadarFilled':'填充雷达图',
'xlRadarMarkers':'数据点雷达图',
'xlStockHLC':'盘高-盘低-收盘图',
'xlStockOHLC':'开盘-盘高-盘低-收盘图',
'xlStockVHLC':'成交量-盘高-盘低-收盘图',
'xlStockVOHLC':'成交量-开盘-盘高-盘低-收盘图',
'xlSurface':'三维曲面图',
'xlSurfaceTopView':'曲面图(俯视图)',
'xlSurfaceTopViewWireframe':'曲面图(俯视框架图)',
'xlSurfaceWireframe':'三维曲面图(框架图)',
'xlXYScatter':'散点图',
'xlXYScatterLines':'折线散点图',
'xlXYScatterLinesNoMarkers':'无数据点折线散点图',
'xlXYScatterSmooth':'平滑线散点图',
'xlXYScatterSmoothNoMarkers':'无数据点平滑线散点图',
'xl3DArea':'三维面积图',
'xl3DAreaStacked':'三维堆积面积图',
'xl3DAreaStacked100':'百分比堆积面积图',
'xl3DBarClustered':'三维簇状条形图',
'xl3DBarStacked':'三维堆积条形图',
'xl3DBarStacked100':'三维百分比堆积条形图',
'xl3DColumn':'三维柱形图',
'xl3DColumnClustered':'三维簇状柱形图',
'xl3DColumnStacked':'三维堆积柱形图',
'xl3DColumnStacked100':'三维百分比堆积柱形图',
'xl3DLine':'三维折线图',
'xl3DPie':'三维饼图',
'xl3DPieExploded':'分离型三维饼图',
'xlArea':'面积图',
'xlAreaStacked':'堆积面积图',
'xlAreaStacked100':'百分比堆积面积图',
'xlBarClustered':'簇状条形图',
'xlBarOfPie':'复合条饼图',
'xlBarStacked':'堆积条形图',
'xlBarStacked100':'百分比堆积条形图',
'xlBubble':'气泡图',
'xlBubble3DEffect':'三维气泡图',
'xlColumnClustered':'簇状柱形图',
'xlColumnStacked':'堆积柱形图',
'xlColumnStacked100':'百分比堆积柱形图',
'xlConeBarClustered':'簇状条形圆锥图',
'xlConeBarStacked':'堆积条形圆锥图',
'xlConeBarStacked100':'百分比堆积条形圆锥图',
'xlConeCol':'三维柱形圆锥图',
'xlConeColClustered':'簇状柱形圆锥图',
'xlConeColStacked':'堆积柱形圆锥图',
'xlConeColStacked100':'百分比堆积柱形圆锥图',
'xlCylinderBarClustered':'簇状条形圆柱图',
'xlCylinderBarStacked':'堆积条形圆柱图',
'xlCylinderBarStacked100':'百分比堆积条形圆柱图',
'xlCylinderCol':'三维柱形圆柱图',
'xlCylinderColClustered':'簇状柱形圆锥图',
'xlCylinderColStacked':'堆积柱形圆锥图',
'xlCylinderColStacked100':'百分比堆积柱形圆柱图',
'xlDoughnut':'圆环图',
'xlDoughnutExploded':'分离型圆环图',
'xlLineMarkers':'数据点折线图',
'xlLineMarkersStacked100':'百分比堆积数据点折线图',
'xlLineStacked100':'百分比堆积折线图',
'xlPieExploded':'分离型饼图',
'xlPyramidBarClustered':'簇状条形棱锥图',
'xlPyramidBarStacked100':'百分比堆积条形棱锥图'}
python使用VBA:Excel创建图表(转)的更多相关文章
- python模块介绍- xlwt 创建xls文件(excel)
python模块介绍- xlwt 创建xls文件(excel) 2013-06-24磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq 37391319 ...
- 最全总结 | 聊聊 Python 办公自动化之 Excel(下)
1. 前言 前面谈到 Python 处理 Excel 文件最常见的两种方式,即:xlrd/xlwt.openpyxl 其中, xlrd/xlwt 这一组合,xlrd 可以负责读取数据,而 xlwt ...
- Python 操作 MS Excel 文件
利用 Python 对 Excel 文件进行操作需要使用第三方库: openpyxl,可执行 pip install openpyxl 进行安装 1. 导入 openpyxl 模块 导入 openpy ...
- Excel催化剂图表系列之品味IBCS瀑布图观察企业利润构成
IBCS图表,每个细节都值得反复琢磨参悟,此篇给大家送上详尽的瀑布图方式下的利润数据观察.请不要拿Excel2016版提供的瀑布图与IBCS版的瀑布图作对比,那完全不是一个级别的,可以类比为拿一辆经济 ...
- Excel催化剂图表系列之一键完成IBCS国际商业标准图表
在数据分析领域,最后一公里的图表输出,是一片十分广阔的领域.一直以来,笔者深知不是这一方面的能手,学习上也仅仅是浅尝而止.没有往其深入研究并有所产出.很幸运地在数据圈子能够结识到其他的志同道合的伙伴, ...
- Python“文件操作”Excel篇(上)
大家好,我们今天来一起探索一下用Python怎么操作Excel文件.与word文件的操作库python-docx类似,Python也有专门的库为Excel文件的操作提供支持,这些库包括xlrd.xlw ...
- 最全总结 | 聊聊 Python 办公自动化之 Excel(中)
1. 前言 上一篇文章中,我们聊到使用 xlrd.xlwt.xlutils 这一组合操作 Excel 的方法 最全总结 | 聊聊 Python 办公自动化之 Excel(上) 本篇文章将继续聊另外一 ...
- [转] C#操作EXCEL,生成图表的全面应用
gailzhao 原文 关于C#操作EXCEL,生成图表的全面应用 近来我在开发一个运用C#生成EXCEL文档的程序,其中要根据数据生成相应的图表,该图表对颜色和格式都有严格的要求,在百度和谷歌中搜索 ...
- C# 添加、修改以及删除Excel迷你图表的方法
Excel表格中的迷你图表能够直观地向我们展示出数据的变化趋势.本文将介绍C#如何实现为表格数据生成迷你图表,以及修改和删除迷你图表的方法.下面将详细讲述. 所用组件工具:Spire.XLS for ...
随机推荐
- Linux学习笔记17——输入输出重定向
1 何谓输入输出重定向? 默认情况下输入是由键盘输入的.输出是默认的输出到屏幕上.而输入输出重定向就是改变默认的输入输出方向 2 freopen函数 freopen是被包含与stdio.h头文件中,是 ...
- 乐视手机1S正式发售,乐视商城官网抽风遭网友吐槽
乐视手机1S正式发售,乐视商城官网抽风遭网友吐槽 10月27日,乐视召开的新品发布会上正式推出千元金属新机乐1s,售价1099元.今天11月3日上午10:00,乐1s在乐视商城.京东商城首发开卖,现货 ...
- Bzoj 2718: [Violet 4]毕业旅行 && Bzoj 1143: [CTSC2008]祭祀river 传递闭包,二分图匹配,匈牙利,bitset
1143: [CTSC2008]祭祀river Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1878 Solved: 937[Submit][St ...
- Oracle表空间扩展
From:http://blog.csdn.net/starnight_cbj/article/details/7398153 1.查看所有表空间使用情况 select b.file_id 文件ID号 ...
- [Java] Java IO 概况
Java IO 是 Java 的一套 API, 用于读入和写出数据(输入和输出).Java IO API 位于 java.io package.实际上 java.io package 没有解决所有的输 ...
- Django中的Ajax
Ajax 很多时候,我们在网页上请求操作时,不需要刷新页面.实现这种功能的技术就要Ajax!(本人定义,不可迷信) jQuery中的ajax就可以实现不刷新页面就能向后台请求或提交数据的功能,我们仍然 ...
- Java 8:不要再用循环了
本文由 ImportNew - 进林 翻译自 deadcoderising.欢迎加入翻译小组.转载请见文末要求. 正如我之前所写的,Java 8中的新功能特性改变了游戏规则.对Java开发者来说这是一 ...
- XSS 简单理解
什么是XSS? XSS(Cross Site Scripting),即跨站脚本攻击,是一种常见于web application中的计算机安全漏洞.XSS通过在用户端注入恶意的可运行脚本,若服务器端对用 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(37)-文章发布系统④-百万级数据和千万级数据简单测试
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(37)-文章发布系统④-百万级数据和千万级数据简单测试 系列目录 我想测试EF在一百万条数据下的显示时间! ...
- Android 颜色渲染(四) BitmapShader位图渲染
版权声明:本文为博主原创文章,未经博主允许不得转载. Android 颜色处理(四) BitmapShader位图渲染 public BitmapShader(Bitmap bitmap,Shad ...