OWC组件的应用与设计方法
- 格式:pdf
- 大小:96.37 KB
- 文档页数:1
1、下载owc11 COM组件/downloads/details.aspx?FamilyID=7287252c-402 e-4f72-97a5-e0fd290d4b76&displaylang=en2、注册owc11在工程中添加 C:\Program Files\Common Files\Microsoft Shared\Web Components\11 文件下的owc11.dll引用或者按如下图所以添加com3、在工程中添加using OWC11;4、开始coding 举例如下:public class ChartFactory{public ChartFactory(){InitTypeMap();//// TODO: 在此处添加构造函数逻辑//}protected System.Web.UI.WebControls.Image imgHondaLineup;private string[] chartCategoriesArr;private string[] chartValuesArr;private OWC11.ChartChartTypeEnum chartType= OWC11.ChartChartTypeEnum.chChartTypeColumn3D;//默认值private static Hashtable chartMap = new Hashtable();private static string chartTypeCh = "垂直柱状图" ;private static string chartTitle = "";private void InitTypeMap(){chartMap.Clear();OWC11.ChartChartTypeEnum[] chartTypes = newOWC11.ChartChartTypeEnum[]{ ChartChartTypeEnum.chChartTypeColumnClust ered,ChartChartTypeEnum.chChartTypeColumn3D,ChartChartTypeEnum.chChartTypeBarClustered,ChartChartTypeEnum.chChartTypeBar3D,ChartChartTypeEnum.chChartTypeArea,ChartChartTypeEnum.chChartTypeArea3D,ChartChartTypeEnum.chChartTypeDoughnut,ChartChartTypeEnum.chChartTypeLineStacked,ChartChartTypeEnum.chChartTypeLine3D,ChartChartTypeEnum.chChartTypeLineMarkers,ChartChartTypeEnum.chChartTypePie,ChartChartTypeEnum.chChartTypePie3D,ChartChartTypeEnum.chChartTypeRadarSmoothLine,ChartChartTypeEnum.chChartTypeSmoothLine};string[] chartTypesCh = new string [] {"垂直柱状统计图","3D垂直柱状统计图","水平柱状统计图","3D水平柱状统计图","区域统计图","3D区域统计图","中空饼图","折线统计图","3D折线统计图","折线带点统计图","饼图","3D饼图","网状统计图","弧线统计图"};for(int i=0;i<chartTypes.Length;i++){chartMap.Add(chartTypesCh[i],chartTypes[i]);}}public ChartSpaceClass BuildCharts (){string chartCategoriesStr = String.Join ("\t", chartCategoriesArr); string chartValuesStr = String.Join ("\t", chartValuesArr);OWC11.ChartSpaceClass oChartSpace = new OWC11.ChartSpaceClass ();//------------------------------------------------------------------------// Give pie and doughnut charts a legend on the bottom. For the rest of// them let the control figure it out on its own.//------------------------------------------------------------------------chartType = (ChartChartTypeEnum)chartMap[chartTypeCh];if (chartType == ChartChartTypeEnum.chChartTypePie ||chartType == ChartChartTypeEnum.chChartTypePie3D ||chartType == ChartChartTypeEnum.chChartTypeDoughnut){oChartSpace.HasChartSpaceLegend = true;oChartSpace.ChartSpaceLegend.Position = ChartLegendPositionEnum.chLegendPositionBottom;}oChartSpace.Border.Color = "blue";oChartSpace.Charts.Add(0);oChartSpace.Charts[0].HasTitle = true;oChartSpace.Charts[0].Type = chartType;oChartSpace.Charts[0].ChartDepth = 125;oChartSpace.Charts[0].AspectRatio = 80;oChartSpace.Charts[0].Title.Caption = chartTitle;oChartSpace.Charts[0].Title.Font.Bold = true;oChartSpace.Charts[0].SeriesCollection.Add(0);oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection.Add ();//------------------------------------------------------------------------// If you're charting a pie or a variation thereof percentages make a lot// more sense than values...//------------------------------------------------------------------------if (chartType == ChartChartTypeEnum.chChartTypePie ||chartType == ChartChartTypeEnum.chChartTypePie3D ||chartType == ChartChartTypeEnum.chChartTypeDoughnut){oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0] .HasPercentage = true;oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0] .HasValue = false;}//------------------------------------------------------------------------// Not so for other chart types where values have more meaning than // percentages.//------------------------------------------------------------------------else{oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0] .HasPercentage = false;oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0] .HasValue = true;}//------------------------------------------------------------------------// Plug your own visual bells and whistles here//------------------------------------------------------------------------oChartSpace.Charts[0].SeriesCollection[0].Caption = String.Empty; oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0]. = "verdana";oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0]. Font.Size = 10;oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0]. Font.Bold = true;oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0]. Font.Color = "red";oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0]. Position = ChartDataLabelPositionEnum.chLabelPositionCenter;if (chartType == ChartChartTypeEnum.chChartTypeBarClustered ||chartType == ChartChartTypeEnum.chChartTypeBar3D ||chartType == ChartChartTypeEnum.chChartTypeColumnClustered ||chartType == ChartChartTypeEnum.chChartTypeColumn3D)oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0] .Position = ChartDataLabelPositionEnum.chLabelPositionOutsideEnd;}oChartSpace.Charts[0].SeriesCollection[0].SetData(OWC11.ChartDimensionsEnum.chDimCategories,Convert.ToInt32(OWC11.ChartSpecialDataSourcesEnum.chDataLiteral), chartCategoriesStr);oChartSpace.Charts[0].SeriesCollection[0].SetData(OWC11.ChartDimensionsEnum.chDimValues,Convert.ToInt32(OWC11.ChartSpecialDataSourcesEnum.chDataLiteral), chartValuesStr);return oChartSpace;}#region 属性设置public string[] chartCategoriesArrValue{get{return chartCategoriesArr;}set{chartCategoriesArr = value;}}public string[] chartValuesArrValue{get{return chartValuesArr;}set{chartValuesArr = value;}}public string chartTypeValue{getreturn chartTypeCh;}set{chartTypeCh = value;}}public string chartTitleValue{get{return chartTitle;}set{chartTitle = value;}}#endregion}//调用首先需要在页面上放置一个Image来显示产生的统计图public void ShowChart(){//初始化赋值chartFactory.chartCategoriesArrValue = chartCategories;chartFactory.chartValuesArrValue = chartValues;chartFactory.chartTitleValue = chartTitle;chartFactory.chartTypeValue = chartType;OWC11.ChartSpaceClass oChartSpace = chartFactory.BuildCharts(); string path = Server.MapPath(".") + @"\images\Chart.jpeg"; //产生图片并保存页可以是png gif图片oChartSpace.ExportPicture(path,"jpeg", 745, 500);Image1.ImageUrl = path; // 显示统计图}// 保存统计图请参照上一篇文章//由于每次生成的统计图都会覆盖原来的图片所以有必要的话可以用日期加时间的方式来作为图片的名字,但是这样将会产生很多图片需及时处理,如不需要只需取同名覆盖原来图片即可。
owc之spreadsheet单的元格的格式操作及其它1. 技术要点1.1. Excel试验:A. Excel嵌⼊⽹页的⽅法。
1. 在后台⽤流的⽅式返回给前台页⾯展现;2. 在后台讲Excel格式数据定好保存到本地,在前台页⾯⽤html标签加载展⽰;B. Excel显⽰格式的控制。
1. Excel单元格格式设置,默认为常规类型;2. 上下标格式的控制;3. 单元格⽔平垂直对齐⽅式;4. 单元格边框设置;5. 单元格合并;6. 字体设置,包括字体的颜⾊、⼤⼩、粗体、斜体、字体、下划线等;7. 冻结⾏列;8. 公式栏的显⽰与隐藏;9. ⾏标题和列表题的显⽰与隐藏;10. ⽹格的显⽰与隐藏;11. ⽔平滚动条和垂直滚动条的显⽰与隐藏;12. Sheet页的显⽰与隐藏;C. 向Excel中填充数据,并导出为临时⽂件。
1.2. OWC试验:A. OWC组件在web页⾯展⽰的⽅法。
1. 将OWC中Sheet导出为本地Excel⽂件,再将导出的⽂件呈现到Web页⾯;2. 后台把配置好的Sheet直接以流⽂件⽅式返回到Web页⾯展现;3. ⽤html标签将OWC展现在Web页⾯,加载后台程序导出到本地的⽂件(xml、html、csv格式)来显⽰数据;B. 在OWC中的电⼦表格类中填充数据的⽅法。
C. OWC中显⽰数据格式的控制。
1. 电⼦表格外观控制:⼯具栏的显⽰、Office图标的显⽰、列标题的显⽰、⾏标题的显⽰、⽔平滚动条的显⽰、垂直滚动条的显⽰、⽹格的显⽰、⽹格颜⾊设置;2. 单元格⽔平对齐⽅式;3. 单元格垂直对齐⽅式;4. 单元格合并;5. 单元格字体设置:字体、字形、字号、字体颜⾊、字体加粗、下划线(多种样式);6. 单元格边框设置;2. 主要模块2.1. Excel1、Excel嵌⼊⽹页的⽅法:A、将后台定制好的Excel⽂件在后台⽤流的⽅式返回给前台页⾯展现,代码如下:Response.ClearContent();Response.ClearHeaders();Response.ContentType = "application/vnd.ms-excel";Response.AddHeader("Content-Disposition", "inline;filename='我的⽂件'");Response.WriteFile(FileName);//FileName为Excel⽂件所在地址Response.Flush();Response.Close();运⾏效果:整个页⾯都充满了Excel。
龙源期刊网 OWC组件的应用与设计方法作者:李华伟来源:《科技创新与应用》2013年第04期摘要:Office Web Components是Microsoft Office 2000版本以上提供的一组控件集合,简称OWC组件,COM控件,其设计的目的是为众多的控件容器提供交互的电子表格建模,数据报表和数据可视化功能。
OWC库包含四个主要的组件:Spreadsheet(电子数据表)组件、Chart(图表)组件、PivotTable(数据透视表)组件、Data Source(数据源)组件。
文章对OWC组件的功能与应用进行了介绍,并提供了VB利用此组件开发的案例。
关健词:OWC;组件;VB1 OWC的简介Office Web Components的非凡之处在于它们可以在诸如Web页面、Visual Basic表单等的控件容器中使用,也可在内存中作为不可见对象使用。
大多数COM控件只能在控件容器中作为可视控件使用,而大多数不可见对象则只能在内存中使用,而不能放入表单中或Web页面中。
OWC库中的组件可以以以上两种方式被使用,从而使得用户可以以界面方式引用控件,或者使控件为其提供基本服务。
开发语言利用OWC组件,可方便美观地动态地将数据源数据加载到电子数据表,导出EXCEL表,也可动态生成三维图、柱状图、饼状图、趋势图和误差图,OWC组件很好地解决了B/S模式下实现动态生成图表和报表打印等难点。
2 应用OWC组件的开发案例OWC调用前提是系统中安装了OFFICE,OFFIC中也提供了OWC的单独安装。
OWC10为ofiiceXP的组件、OWC11为office2003的组件,组件的路径为C:\Program Files\Common Files\Microsoft Shared\Web Components\11\owc11,帮助文件的路径为C:\Program Files\Common Files\Microsoft Shared\Web Components\11\2052。
浅谈光电复合缆应用技术随着信息技术的不断发展,光纤通信在整个通信业中起到至关重要的纽带作用,成为现代通信的基石。
近5年来,通信带宽的不断提高和光纤通信系统成木的降低,使得在无线通信基站建设中,光纤拉远成为主流技术,由于光传输和电能传输属于2种不同的传输方式, 不会相互干扰,光电复合缆能同时实现电能和通信信号的传输,早在1978年光纤与海底电缆复合已经取得成功,而今电力传输OPGW(光纤复合架空地线)、OPPC (光纤复合相线)己经在国内相继使用,其中GD (接入网用光电复合缆)开始大量用于通信网络的建设中。
随着国家•四网”融合行动的启动,OPLC (光电低压复合缆)用量逐年增加。
甚至在电子产品中,弯曲不敏感光纤在原有连接设备的通信线材上也开始出现了光电复合缆。
1几种常用的光电复合缆光电复合缆既能传输电能或传输电信号,又能传输光信号,根据使用的范围不同,可分电力通信用光电复合缆、通信接入网用光电复合缆、电子产品用光电复合缆。
其中电力通信用光电复合缆以电力传输为主;通信接入网用光电复合缆以通信为主,主要用于向远程通信设备馈电;电子产品用光电复合缆主要用于数据的高速传输。
1.1电力通信用光电复合缆当代社会对电力和电网的安全性、稳定性和智能性的要求越来越高。
可靠、高效的电力通信是电网安全稳定系统和调度自动化系统的基础,也是实现电力系统现代化管理的重要前提。
电力通信的业务可划分为关键运行业务和事务管理业务两大类。
关键运行业务是指远动信号、继电保护信号、数据采集与监视控制系统、能量管理系统和调度电话等,它的信息量不大,但是通信的实时性、准确性和可靠性要求很高;事务管理业务是指行政电话、会议电话、会议电视、管理信息数据等,它的业务种类多,变化快,通信流量大。
目前电力通信网主要由光纤、微波及卫星通信构成主干线,各支路则利用无线通信、光纤通信、电力线载波等方式。
1.1.1光纤通信光纤具有抗电磁干扰能力强、传输容量大、传输衰减小、频带宽等优点,因此在电力部门应用广泛,常用的有:(2)光纤复合架空地线(OPGW)。