# -*- 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 tkinter快速创建Excel表格名称
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:java 十六进制正则表达式
下一篇:java项目ddd包结构
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
几行Python代码,轻松搞定Excel表格数据去重
用几行Python代码,轻松搞定Excel表格数据去重
数据 原始数据 数据处理 Python处理数据 -
python创建Excel表格
写Excel表格import os,xlwt# 设置标题样式def set_title_style(blod=False): style = xlwt.XFStyle() # 初始化样
python python创建Excel python xlwt模块 excel表格 运维 -
indesign官方推荐插件
本文是讲平面设计软件有哪些?平面设计软件推荐。平面设计是以图形、符号等元素作为媒介,通过视觉感官来直接向读者传递信息,表达思想的过程。设计者可用平面设计软件来完成,创意、构图、色彩三者组成了平面设计的三大要素。设计者通过运用图形的构造和色彩的搭配,来将设计者的创意和想法清楚的表达出来。 CorelDRAW是一款常见的平面设计软件,我使用的CorelDRAW软件版本为CorelDRAW
indesign官方推荐插件 indesign软件一直闪退怎么办 Photoshop 矢量图 图像处理