''owc.vbs

class owc

private o

'传入物件

public property set set_obj(o_id)

set o=o_id

end property

'画图矩形图

'chart_bgcolor_图表的背景颜色

'chartCaption_图表的标题

'chartCaption_fontColor_图表标题颜色

'Interior_Color_矩形内的填充颜色

'Caption_名称

'categories_名称数组

'values_值数组串

public sub bar(chart_bgcolor_,chartCaption_,chartCaption_fontColor_,Interior_Color_,Caption_,categories_,values_)

o.Clear

set cht = o.Charts.Add

set c = o.Constants

cht.Type = c.chChartTypeColumnClustered

'设背景色或是填充

o.Charts(0).PlotArea.Interior.SetSolid chart_bgcolor_

'加上图表的标题

o.HasChartSpaceTitle = True

set cst=o.ChartSpaceTitle

cst.Caption = chartCaption_

cst.Font.Color = chartCaption_fontColor_

cst.Font.Italic = False

cst.Font.Name = "Arial"

cst.Font.Size = 12

cst.Font.Underline = c.owcUnderlineStyleSingle

'添加数据

cht.SetData c.chDimCategories, c.chDataLiteral, categories_

cht.SeriesCollection(0).SetData c.chDimValues, c.chDataLiteral, values_

'直条的背景色进行设定

set sc=o.Charts(0).SeriesCollection(0)

sc.Interior.Color=Interior_Color_

'直条上的显示设置

sc.Caption=Caption_

set dl = cht.SeriesCollection(0).DataLabelsCollection.Add

dl.HasValue = True

dl.HasPercentage = False

dl.Font.Size = 9

dl.Font.Color = "red"

dl.Position = c.chLegendPositionRight

dl.NumberFormat = "00.00%"

'左边百分比的属性设置

Set cta = cht.Axes(c.chAxisPositionLeft)

cta.Font.Size = 9

cta.NumberFormat = "0.0%"

cta.MajorUnit = 0.1

end sub

'多系列矩形图

'chart_bgColor_图表的背景颜色

'chartCaption_图表的标题

'chartCaption_fontColor_图表标题颜色

'color_颜色数组

'caption_名称数组

'categories_名称数组

'values_值数组

public sub serBar(chart_bgColor_,chartCaption_,chartCaption_fontColor_,color_,caption_,categories_,values_)

o.Clear

o.Charts.Add

Set c = o.Constants

'图表的类型

o.Charts(0).type=c.chChartTypeColumnClustered

'给绘图区加背景色

o.Charts(0).PlotArea.Interior.SetSolid chart_bgColor_

''加上图表的标题

o.HasChartSpaceTitle = True

o.ChartSpaceTitle.Caption = chartCaption_

'标题的属性

o.ChartSpaceTitle.Font.Color = chartCaption_fontColor_

o.ChartSpaceTitle.Font.Italic = False

o.ChartSpaceTitle.Font.Name = "Arial"

o.ChartSpaceTitle.Font.Size = 12

o.ChartSpaceTitle.Font.Underline = c.owcUnderlineStyleSingle

'用循环来新增SeriesCollection以及里面的内容

for i=0 to ubound(caption_)

valuetemp=""

for j = i*(ubound(categories_)+1) to (i+1)*(ubound(categories_)+1)-1

valuetemp = valuetemp & "," & values_(j)

next

valuearr = split(mid(valuetemp,2),",")

o.Charts(0).SeriesCollection.Add

o.Charts(0).SeriesCollection(i).Caption = caption_(i)

o.Charts(0).SeriesCollection(i).Interior.Color = color_(i)

o.Charts(0).SeriesCollection(i).SetData c.chDimCategories, c.chDataLiteral, categories_

o.Charts(0).SeriesCollection(i).SetData c.chDimValues, c.chDataLiteral, valuearr

set dl = o.Charts(0).SeriesCollection(i).DataLabelsCollection.Add

dl.HasValue = True

dl.HasPercentage = False

dl.Font.Size = 9

dl.Font.Color = "red"

dl.Position = c.chLegendPositionRight

dl.NumberFormat = "00.00%"

next

''图例的设定

o.Charts(0).HasLegend = True

o.Charts(0).Legend.Font.Size = 9

o.Charts(0).Legend.Position = c.chLegendPositionBottom

''左边百分比的属性设置

Set cta = o.Charts(0).Axes(c.chAxisPositionLeft)

cta.Font.Size = 9

cta.NumberFormat = "0.00%"

cta.MajorUnit = 0.1

end sub

'画圆饼图

'chart_bgColor_绘图区加背景色

'chartCaption_图表的标题

'chartCaption_fontColor_图表标题颜色

public sub Pie(chart_bgColor_,chartCaption_,chartCaption_fontColor_,Caption_,categories_,values_)

o.Clear

Set cht = o.Charts.Add

Set c = o.Constants

cht.Type = c.chChartTypePie3d

'给绘图区加背景色

o.Charts(0).PlotArea.Interior.SetSolid chart_bgColor_

cht.ExtrudeAngle = 90

cht.ChartDepth = 169

cht.AspectRatio = 120

cht.Rotation =180

cht.Inclination=70

o.HasChartSpaceTitle = True

o.ChartSpaceTitle.Caption = chartCaption_

o.ChartSpaceTitle.Font.Color = chartCaption_fontColor_

o.ChartSpaceTitle.Font.Name = "Arial"

o.ChartSpaceTitle.Font.Size = 12

o.ChartSpaceTitle.Font.Underline = c.owcUnderlineStyleSingle

cht.HasLegend = True

cht.Legend.Font.Size = 9

cht.Legend.Position = c.chLegendPositionBottom

cht.SetData c.chDimCategories, c.chDataLiteral, categories_

cht.SeriesCollection(0).SetData c.chDimValues, c.chDataLiteral, values_

set sc=o.Charts(0).SeriesCollection(0)

sc.Caption=Caption_

Set dl = cht.SeriesCollection(0).DataLabelsCollection.Add

dl.Separator = ":"

dl.HasValue = false

dl.HasSeriesName = false

dl.HasCategoryName=true

dl.HasPercentage = true

dl.Font.Size = 9

dl.Font.Color = "red"

dl.NumberFormat = "00.00%"

end sub

'拆线图

'chart_bgColor_绘图区加背景色

'chartCaption_图表的标题

'chartCaption_fontColor_图表标题颜色

public sub line(chart_bgColor_,chartCaption_,chartCaption_fontColor_,Caption_,categories_,values_)

o.Clear

Set cht = o.Charts.Add

Set c = o.Constants

cht.Type = c.chChartTypeLineMarkers

'给绘图区加背景色

o.Charts(0).PlotArea.Interior.SetSolid chart_bgColor_

o.HasChartSpaceTitle = True

o.ChartSpaceTitle.Caption = chartCaption_

o.ChartSpaceTitle.Font.Color = chartCaption_fontColor_

o.ChartSpaceTitle.Font.Name = "Arial"

o.ChartSpaceTitle.Font.Size = 12

o.ChartSpaceTitle.Font.Underline = c.owcUnderlineStyleSingle

cht.SetData c.chDimCategories, c.chDataLiteral, categories_

cht.SeriesCollection(0).SetData c.chDimValues, c.chDataLiteral, values_

set sc=o.Charts(0).SeriesCollection(0)

sc.Caption=Caption_

Set dl = cht.SeriesCollection(0).DataLabelsCollection.Add

dl.HasValue = True

dl.HasPercentage = False

dl.Font.Size = 9

dl.Font.Color = "red"

Set categoryAxis = cht.Axes(c.chAxisPositionBottom)

categoryAxis.Font.Size = 9

Set categoryAxis = cht.Axes(c.chAxisPositionLeft)

categoryAxis.Font.Size = 9

end sub

'多系列拆线图

'chart_bgColor_图表的背景颜色

'chartCaption_图表的标题

'chartCaption_fontColor_图表标题颜色

'color_颜色数组

'caption_名称数组

'categories_名称数组

'values_值数组

public sub serLine(chart_bgColor_,chartCaption_,chartCaption_fontColor_,color_,SeriesNames_,categories_,values_)

o.Clear

Set cht = o.Charts.Add

Set c = o.Constants

'设置图表类型

cht.Type = c.chChartTypeLineMarkers

'给绘图区加背景色

o.Charts(0).PlotArea.Interior.Color=chart_bgColor_

'加上标题

o.HasChartSpaceTitle = True

o.ChartSpaceTitle.Caption = chartCaption_

o.ChartSpaceTitle.Font.Color = chartCaption_fontColor_

o.ChartSpaceTitle.Font.Name = "Arial"

o.ChartSpaceTitle.Font.Size = 12

''添加数据

cht.SetData c.chDimSeriesNames, c.chDataLiteral, SeriesNames_

cht.SetData c.chDimCategories, c.chDataLiteral, Categories_

set categoryAxis = cht.Axes(c.chAxisPositionBottom)

categoryAxis.Font.Size = 9

Set categoryAxis = cht.Axes(c.chAxisPositionLeft)

categoryAxis.Font.Size = 9

for i = 0 to ubound(SeriesNames_)

valuetemp = ""

for j = i*(ubound(Categories_)+1) to (i+1)*(ubound(Categories_)+1)-1

valuetemp = valuetemp & "," & values_(j)

next

valuearr = split(mid(valuetemp,2),",")

cht.SeriesCollection(i).SetData c.chDimValues, c.chDataLiteral, valuearr

cht.SeriesCollection(i).Line.Color = color_(i)

cht.SeriesCollection(i).Line.Weight = c.owcLineWeightThin

cht.SeriesCollection(i).Marker.Style = c.chMarkerStyleDiamond

cht.SeriesCollection(i).Interior.Color = color_(i)

Set dl = cht.SeriesCollection(i).DataLabelsCollection.Add

dl.HasValue = true

dl.HasPercentage = false

dl.Font.Size = 9

dl.font.color="red"

next

end sub

'清除图型

public sub clear()

o.Clear

end sub

end class

使用测试代码:

vbscript owc class test

sub window_onload()

set t = new owc

categories =Array("A2-1","A2-2","A2-3","A3-1","A3-2","A3-3"_

,"B2-1","B2-2","B2-3","B3-1","B3-2","B3-3"_

,"C2-1","C2-2","C3-1","C3-2","C3-3")

values = Array(0.813,0.689,0.800,0.833,0.681,0.864,0.743_

,0.894,0.822,0.874,0.746,0.908,0.850_

,0.728,0.731,0.734,0.624)

set t.set_obj=document.getElementById("cs1")

t.bar "#FFFFFF","报表标题","BLUE","#CCCC00","组别",categories,values

color=Array("#CCFFFF","#99CCFF","#00CCFF","#FF0000","#660066","#FF8080")

caption=Array("第1周","第2周","第3周","第4周")

categories=Array("A栋","B栋")

values=Array(0.6951,0.5798,0.7075,0.512,0.7907,0.7493,0.8691,0.7716)

set t.set_obj=document.getElementById("cs2")

t.serbar "#FFFFFF","2008年10月坑头三厂各周各楼层达成率比较图","red",color,caption,categories,values

categories=array("台北","上海")

values = array(238760,912560.62)

set t.set_obj=document.getElementById("cs3")

t.Pie "#FFFFFF","销售金额所佔比例(城市分类)","BLUE","城市",categories,values

categories =array("2008/11/1","2008/11/2","2008/11/3","2008/11/4","2008/11/5","2008/11/6","2008/11/7","2008/11/8","2008/11/9","2008/11/10","2008/11/11","2008/11/12","2008/11/13","2008/11/14","2008/11/15","2008/11/16","2008/11/17","2008/11/18","2008/11/19","2008/11/20","2008/11/21","2008/11/22","2008/11/23","2008/11/24","2008/11/25","2008/11/26","2008/11/27","2008/11/28","2008/11/29","2008/11/30")

values = array(67239.89,60400.26,7202.89,18453.12,28889.29,102136.25,78826.39,146291.6,93743.29,44204.44,45349.28,50730.6,37900.21,84359.87,169333.62,114594.96,75334.77,51360.32,55853.05,37912.63,45068.22,63930.98,72993.71,18699.5,24714.5,34792.91,39414.58,92171.2,74433.06,3998894.41)

set t.set_obj=document.getElementById("cs4")

t.line "#FFFFFF","销售金额","BLUE","日期",categories,values

color=Array("#CCFFFF","#99CCFF","#00CCFF","#FF0000")

SeriesNames = array("A产品","B产品","C产品","D产品")

Categories = array("2005/3/24","2005/3/25","2005/3/26","2005/3/27","2005/3/28")

values = array(50,100,20,80,89,40,60,20,90,70,20,50,55,25,60,80,20,75,58,100)

set t.set_obj=document.getElementById("cs5")

t.serline "#FFFFFF","达成率月报表","red",color,SeriesNames,categories,values

set t=nothing

end sub

owc是什么?

Office Web Components是一组的COM控件,设计的目的是为众多的控件容器提供交互的电子表格建模,数据报表和数据可视化功能。OWC库包含四个主要的组件:电子表格组件,图表组件,透视表组件和数据源组件。

“Office Web Components”名称中的单词”Office”表示这些控件就是由那些开发微软Excel和Access的程序员中的一部分人开发的,并且这些控件被设计成在外观,使用感受和行为表现上就像是他们的微软Office兄弟的精简版一样。这些控件确实不包含Excel和Access中的所有的功能——换句话说,你也不会为了在浏览器中查看一个报表而动态的下载完整的Excel和Access,这些控件也确实包含了许多的常用功能,尤其是那些在与已有内容进行交互时所必需的功能。此外,这些控件还能够读写Excel 2000的HTML格式的文件,允许用户点击一个按钮,将当前的数据加载到Excel中,以便作更加强大的分析。

java owc_vbscript ms owc 封裝代码相关推荐

  1. Word处理控件Aspose.Words功能演示:使用 Java 在 MS Word 文档中进行邮件合并

    Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word.此 ...

  2. [教程] [承風雅傳HSU]用ES4封裝Win7---ES4 Win7封裝教程(未完待續)

    [教程] [承風雅傳HSU]用ES4封裝Win7---ES4 Win7封裝教程(未完待續) a10036it 发表于 2015-7-27 21:11:19 https://www.itsk.com/t ...

  3. Java 连接MS Access数据库

    java连接MS Access的两种方式: 1.JDBC-ODBC Java连接Access可以使用MS自带的管理工具-->数据源(ODBC)设置建立连接,这样就不需要导入jar.但是,如此一来 ...

  4. Word处理控件Aspose.Words功能演示:使用Java合并MS Word文档

    在各种情况下,可能需要合并多个MS Word文档,例如减少文档数量,在单个文件中保留相似种类的内容(即发票)等.许多在线应用程序使您可以合并两个或多个MS Word文档但是,您可能需要在自己的Web或 ...

  5. Word处理控件Aspose.Words功能演示:使用 Java 比较 MS Word 文档

    Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word.此 ...

  6. Word处理控件Aspose.Words功能演示:使用 Java 拆分 MS Word 文档

    Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word.此 ...

  7. Word处理控件Aspose.Words功能演示:使用Java在MS Word文档中进行邮件合并

    邮件合并是一种动态生成信件,信封,发票,报告和其他类型文档的便捷方法.使用邮件合并,您可以创建一个包含合并字段的模板文件,然后使用数据源中的数据填充这些字段. 假设您必须向20个不同的人发送一封信,并 ...

  8. html5 strongeaseinout,Canvas開發庫封裝

    一.Canvas第三方類庫 1.常見的第三方類庫 konva.js body{ margin:0; } //創建舞台 var stage=new Konva.Stage({ container:&qu ...

  9. 0-1背包 java_0-1背包问题,java的动态规划如题,代码如下public

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 0-1背包问题,java的动态规划 如题,代码如下 public class dongtaiguihua01 { public static void m ...

最新文章

  1. Mac下sublime text2 解决中文乱码
  2. 荒唐!985高校规定研究生上课迟到两次就扣 500 元国家助学金!
  3. 通过性能计数器确定.net应用程序是否存在内存溢出
  4. canvas基本用法
  5. 分布式消息系统Kafka初步
  6. 计算机一级专题训练,计算机等级考试一级MSOFFICE综合训练试题
  7. 【PE】手动给PE文件添加一段代码MessageBoxA
  8. Nacos实现环境隔离
  9. 用友U8案例教程委外管理前台操作
  10. 使用Origin绘制折线图(入门)
  11. PCB Layout 注意事项——布线
  12. 图像风格迁移及代码实现
  13. 直流电机驱动电路设计
  14. 新西兰计算机科学专业排名,2020年新西兰计算机科学专业排名榜
  15. git显示当前分支的父分支名称
  16. QQ2005Beta3显地理位置功能的细节描述(转)
  17. TOEFL 托福综合写作模板【高级版+低级版】
  18. 调用移动端“搜索”按键,触发后收起软键盘
  19. surfer9 与Arcgis9.3 完美生成等值线和等值面方法
  20. jquery.tipsy实现标题提示功能

热门文章

  1. ASP连接Excel的方法
  2. 网站推荐 | 那些小众却精美的网站
  3. (九)二叉树的建立与遍历方法(c语言)(附代码与调试)
  4. 摄像无线传送服务器,如何将网络摄像头数据流传输到服务器?
  5. VMware Workstation Pro 转移服务器中的虚拟机
  6. 如何为opencart安装中文语言包
  7. 人工智能机器人-智能时代的新纪元
  8. 大金融业务系统的技术架构演进方向
  9. 上海,智慧城市建设的亚太标杆
  10. 深度学习 LSTM长短期记忆网络原理与Pytorch手写数字识别