复制代码 代码如下: ""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_
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
使用测试代码: 复制代码 代码如下: <html> <head> <title>vbscript owc class test</title> <script language="vbscript" src="owc.vbs"></script> <script language="vbscript"> sub window_onload() set t = new owc
owc是什么? Office Web Components是一组的COM控件,设计的目的是为众多的控件容器提供交互的电子表格建模,数据报表和数据可视化功能。OWC库包含四个主要的组件:电子表格组件,图表组件,透视表组件和数据源组件。 “Office Web Components”名称中的单词”Office”表示这些控件就是由那些开发微软Excel和Access的程序员中的一部分人开发的,并且这些控件被设计成在外观,使用感受和行为表现上就像是他们的微软Office兄弟的精简版一样。这些控件确实不包含Excel和Access中的所有的功能——换句话说,你也不会为了在浏览器中查看一个报表而动态的下载完整的Excel和Access,这些控件也确实包含了许多的常用功能,尤其是那些在与已有内容进行交互时所必需的功能。此外,这些控件还能够读写Excel 2000的HTML格式的文件,允许用户点击一个按钮,将当前的数据加载到Excel中,以便作更加强大的分析。