




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
_OWC使用方法 OWC= Office Web Components 是微软Office的轻量级开发工具,随Office安装时一起安装 Office2003版本对应OWC11,里面有5个控件对象 图表工作区对象 数据源控件对象 记录集控件对象 数据透视表列表对象 电子表格对象 很久以前用过的,最近有人问就翻出来看看 其实很简单,只是可能没有到注意文档罢了 我简单用VB做了下常用的SpreadSheet例子 Form上加一个Spreadsheet控件 代码,很简单,没什么好说的 PrivateSubForm_Load() 单元格 可以使用循环的方式填充单元格 Spreadsheet1.Cells(1,1)=第1个格 Spreadsheet1.Cells(1,5)=第5个格 区域 合并 Spreadsheet1.Range(A3:D3).Merge Spreadsheet1.Range(A3:D3).Value=合并效果 格式设置 Spreadsheet1.Range(A3:D3).Font.Name=黑体 Spreadsheet1.Range(A3:D3).Font.Size=15 Spreadsheet1.Range(A3:D3).Borders(xlEdgeTop).Color=vbRed Spreadsheet1.Range(A3:D3).Borders(xlEdgeBottom).Color=vbRed Spreadsheet1.Range(A3:D3).Borders(xlEdgeLeft).Color=vbRed Spreadsheet1.Range(A3:D3).Borders(xlEdgeRight).Color=vbRed 不提示直接保存为本地文件 Spreadsheet1.Exportc:xxx.xls,ssExportActionNone 直接在Excel中打开 Spreadsheet1.Exportc:xxx.xls,ssExportActionOpenInExcel EndSub 运行出来就是这个样子 因为整个编程中使用了VBA语法,所以还是很容易理解的 如果你的机器上安装了Office2000/xp/2003 那么你的机器上已经有使用文档及开发文档了,很详尽,参照一下,应该没啥问题。 我的机器装的是2003,在如下位置上有相关文档 C:ProgramFilesCommonFilesMicrosoftSharedWebComponents102052 C:ProgramFilesCommonFilesMicrosoftSharedWebComponents112052 前面的文档都是使用帮助 OWCVBA11.CHM 是开发文档 ChartSpace对象:图形容器对象,也是顶层对象。如果要使用OWC绘制图形,至少要创建一个ChartSpace对象。所谓容器,就是说ChartSpace对象中可以包含多个图形对象,最多16个。ChChart对象、ChCharts集合、ChCharts.Add()方法:ChChart是图形对象。一个柱状图、饼状图、散点图等都是一个图形对象,多个图形对象构成ChCharts集合。ChartSpace对象就包含一个ChCharts集合,这些ChChart之间互相叠加,比如簇状条形图就是多个单柱状图的叠加,圆环套圆环图就是两个单圆环图的叠加。通过ChCharts.Add()方法增加一个图形。ChSeries对象、ChSeriesCollection集合、ChSeriesCollection.Add()方法:帮助中说:一个ChSeries对象表示图中的一个系列。实际上,你可以这样理解,当图形容器中包含多个图形时,一个ChSeries对象就表示其中的一个图形,可以通过ChSeriesCollection集合,可以使用数组的方式访问各个ChSeries,比如ChSeriesCollection0表示第一个图形。使用ChSeriesCollection.Add()方法在当前容器中新增一个图形。Point属性和Points集合:一个Point代表图形中的一个部分,比如柱状图的一条柱,饼状图的一个扇区等。ChChart对象提供Points集合,可以使用数组的形式访问各个Point,比如Points0表示第1个部分。Interior属性:代表一个形状的内部空间。比如,ChartSpace对象的Interior属性代表图形容器内、图形外的空间,一个扇区Interior属性表示该扇区的内部空间。该属性在设置图形各个部分的颜色时起到重要作用。窃以为,以上对象和属性的理解、使用非常关键,顺着它们找下去,标题、图例、数据标签、字体等重要的特性都能顺利找到。OWC简介及其属性(转)2008-10-21 17:06Figure 3 Office Web Components (version 10)组件描述PivotTable使用户连接到支持 OLE DB Provider for OLAP Services 8.0 或更高版的 OLAP 数据源上 (也可连接到 Excel 电子数据表单 和 SQL Server 、 Access 关系数据库)。PivotTable 控件允许用户对数据进行透视、分组、筛选和排序等操作。Spreadsheet提供电子数据表单用户接口,包括重算引擎和扩展函数库。Chart图形化显示来自某个绑定数据源、PivotTable 或 Spreadsheet 控件的数据。当 Chart 组件被绑定到 PivotTable 控件且用户重新透视数据时能自动刷新。DataSource管理与后台数据库服务器的通讯。PivotTable 和 Spreadsheet 组件实际上能单独连接到数据源,不一定非得要 DataSource 组件。这是因为其 XML 数据可以直接包含 OLE DB 连接串。Figure 4 PivotTable and Chart-related Objects成员描述PivotTable使用户连接到支持 OLE DB Provider for OLAP Services 8.0 或更高版的 OLAP 数据源上 (也可连接到 Excel 电子数据表单 和 SQL Server 、 Access 关系数据库)。PivotTable 控件允许用户对数据进行透视、分组、筛选和排序等操作。PivotView表示 PivotTable 的一个特定视图. 用于对 PivotTable 视图中的行、列、标尺、格式化进行设置。PivotDataAxis包含与数据轴相关的方法和属性PivotResultColumnAxis包含与列轴相关的方法和属性PivotResultRowAxis包含与行轴相关的方法和属性PivotFieldSet多维数据集中定义的字段集PivotField多维数据集中定义的字段ChartSpace使用户连接到支持 OLE DB Provider for OLAP Services 8.0 或更高版的任何 OLAP 数据源上,(也可连接到 Excel 电子数据表单和 SQL Server、Access 关系数据库)。ChartSpace 允许用户图形化显示数据并且将控件绑定到一个已存在的 PivotTable 或 Spreadsheet。ChChartsChChart 对象集合ChChartChartSpace 中的单个图表,一个ChartSpace 可容纳多达64个图表。Figure 5 PivotTable Components Programmatic Interface成员类型描述ActiveView属性表示一个活动的 PivotTable 布局。该属性返回一个 PivotView 对象。ColumnAxis属性表示列轴中的字段。返回一个 PivotAxis 对象。ConnectionString属性设置连接到 Analysis Services 服务器的连接字符串,ConnectionString 属性中的 DataSource 参数决定了 OWC 组件将要使用的连接协议。DataAxis属性表示数据轴的规模。返回一个 PivotAxis 对象。DataMember属性设置控件将要从 Analysis Services 请求的数据源名称。它与多维数据集同名。IncludedMembers属性定义了 PivotField 内的数据成员。该属性接受的参数为单一成员或成员数组。IsIncluded属性设置所包含的字段并激活 PivotFieldSet。RowAxis属性表示行轴中的字段,返回 PivotAxis 对象。XMLData属性设置或返回当前用于 PivotTable 报表控件的 XML 数据。有关报表的细节 (格式和数据) 均保存在 XML 数据中。也包括了 OLAP 连接详细信息。AddCustomGroupField方法为指定的 PivotFieldSet 添加一个定制的分组字段。AddCustomGroupMember方法为指定的 PivotFieldSet 添加一个定制的分组成员。InsertFieldSet方法在行或列轴中插入一个字段集。CommandExecute事件在某个命令执行之后触发,ChartCommandIdEnum 和PivotCommandId 常量包含用于每个 OWC 组件所支持的命令清单。Query事件PivotTable 激活某个查询时触发。Figure 6 Chart Components Programmatic Interface成员类型描述DataSource属性 为 Chart 控件定义数据源。当设置另一个控件(如:PivotTable 或 Spreadsheet)这样有效地绑定 Chart 控件到其它控件。Type属性 象 ChartChartTypeEnum 枚举所定义的那样定义图表类型,默认类型为条形图。Figure 8 Connecting to an OLAP Data Sourcefunction initializePivotTable(strDataMember) / This function calls the InitializePivotTableXML() Web/ methodvar iCallID = service.svcOLAP.callService(onInitializePivotTableResult,InitializePivotTableXML,strDataMember);function onInitializePivotTableResult(result) / This function handles the InitializePivotTableXML()/ Web method resulttext = result.value; / result string/ Evaluate return resultif (!result.error) / Assign the XML to the PivotList XMLData valuefrm1.PivotTable1.XMLData = text;else alert(Unhandled error - + result.errorDetail.code + + result.errorDetail.string);Figure 9 Generate XMLData for a PivotTable Control Public Function InitializePivotTableXML(ByVal _strDataMember As String) As StringDim m_XML As StringDim strOLAPConn As String = _ConfigurationSettings.AppSettings(OLAPConnectionString)TryDim objPT As PivotTableClass = New PivotTableClassobjPT.ConnectionString = strOLAPConnobjPT.DataMember = strDataMemberm_XML = objPT.XMLDataobjPT = NothingCatch err As Exceptionm_XML = & err.Source & - & err.Message & _FinallyEnd TryReturn (m_XML)End FunctionFigure 10 LoadCustomPivotTableReport Web Method Public Function LoadCustomPivotTableReport(ByVal _strCity1 As String, ByVal strCity2 As String) As StringDim m_XML As StringDim strOLAPConn As String = _ConfigurationSettings.AppSettings(OLAPConnectionString)Dim objPT As PivotTableClass = New PivotTableClassDim objPTView As PivotViewDim fldCity, fldName, fldProdFamily As PivotFieldDim fSetCustomers, fSetProduct As PivotFieldSetTryobjPT.ConnectionString = strOLAPConnobjPT.DataMember = SalesobjPT.AllowFiltering = FalseobjPTView = objPT.ActiveViewobjPTView.TitleBar.Caption = City Comparison of DrinkSales Define the column elementsobjPTView.ColumnAxis.InsertFieldSet(objPTView.FieldSets(Time)objPTView.ColumnAxis.FieldSets(Time).Fields(Year).Expanded = True Define the row elementsfSetCustomers = objPTView.FieldSets(Customers)objPTView.RowAxis.InsertFieldSet(fSetCustomers)fSetCustomers.Fields(Country).IsIncluded = FalsefSetCustomers.Fields(State Province).IsIncluded = FalsefSetCustomers.Fields(Name).IsIncluded = False Define the members of the row elementsfldCity = fSetCustomers.Fields(City)fldCity.IncludedMembers = New Object() strCity1, strCity2 Exclude all other field row members in the fieldsetfSetProduct = objPTView.FieldSets(Product)objPTView.RowAxis.InsertFieldSet(fSetProduct)fSetProduct.Fields(Product Department).IsIncluded = FalsefSetProduct.Fields(Product Category).IsIncluded = FalsefSetProduct.Fields(Product Subcategory).IsIncluded =FalsefSetProduct.Fields(Brand Name).IsIncluded = FalsefSetProduct.Fields(Product Name).IsIncluded = FalsefldProdFamily = fSetProduct.Fields(Product Family)fldProdFamily.IncludedMembers = Drink Define the measuresobjPTView.DataAxis.InsertTotal(objPTView.Totals(Store Sales)objPTView.DataAxis.Totals(Store Sales).NumberFormat = _Currency Return the XML data to the client side scriptm_XML = objPT.XMLDataobjPT = NothingCatch err As Exceptionm_XML = & err.Source & - & err.Message & FinallyEnd TryReturn (m_XML)End FunctionFigure 11 Load the XMLData for a Custom Reportfunction LoadSavedReport() / Purpose: Call Web Service method to load the saved/ reportvar iCallID = service.svcOLAP.callService(onLoadSavedReportResult,LoadSavedReport, OLAPReport1.xml);function onLoadSavedReportResult(result) / Purpose: This function handles the/ wsOLAP.onLoadSavedReportResult() Web Service resultvar text = result.value; / result string/ Evaluate return resultif (!result.error) / Assign the XML to the PivotList XMLData valuefrm1.PivotTable1.XMLData = text;Figure 12 JavaScript and VBScript Event Handlervar sLog = document.Form1.Text1.value + ;document.Form1.Text1.value = Query Event Fired. + sLog;Sub PivotTable1_CommandExecute(Command, Succeeded)Dim ptConstantsSet ptConstants = document.Form1.PivotTable1.Constants Check to see if the PivotTable list has been refreshed.If Command = ptConstants.plCommandRefresh Then Write the current data and time to the text box.document.Form1.Text1.value = vbCrLf & _PivotTable Last Refreshed on & Date & at _& Time & vbCrLf & document.Form1.Text1.valueEnd IfEnd SubFigure 13 Creating Custom Groups Public Function ApplyCustomGrouping(ByVal _strReportXMLData As String) As StringDim m_xml As StringDim objPT As PivotTableClass = New PivotTableClassDim objPTView As PivotViewDim fsTime As PivotFieldSetDim fsHalfYear As PivotFieldTryobjPT.XMLData = strReportXMLDataobjPTView = objPT.ActiveView Set a variable to the Time field set.fsTime = objPTView.FieldSets(Time) Add a custom group field named Group1 to the Time field set.fsHalfYear = fsTime.AddCustomGroupField(CustomGroup1, _CustomGroup1, Quarter) Add a custom field set member. This member includes all Q1 and Q2 members under 1997.fsHalfYear.AddCustomGroupMember _(fsTime.Member.ChildMembers(1997).Name, _New Object() Q1, Q2, 1stHalf) Add another custom fieldset member to include all Q3 and Q4 members under 1997.fsHalfYear.AddCustomGroupMember _(fsTime.Member.ChildMembers(1997).Name, _New Object() Q3, Q4, 2ndHalf) Collapse the fieldset at the custom member levelfsHalfYear.Expanded = Falsem_xml = objPT.XMLDataobjPT = NothingCatch err As Exceptionm_xml = & err.Source & - & err.Message & _FinallyEnd TryReturn (m_xml)End Function1.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。 B、在前台页面框架中直接加在,代码: 运行效果:可随意控制Excel在页面的显示位置。2、 Excel显示格式控制。A、单元格格式设置,默认为常规类型;Excel代码:Excel.Range r = mySheet.get_Range(mySheet.Cells1, 1, mySheet.CellsDT.Rows.Count + 2, DT.Columns.Count - 3); /设置单元格格式为文本类型,文本类型可设置上下标r.NumberFormat = ; /设置单元格格式为数值类型,小数点后2位r.NumberForma = 0.00_ /设置单元格格式为货币类型,小数点后2位 r.NumberForma = ¥#,#0.00;¥-#,#0.00 /设置单元格格式为会计专用类型,小数点后2位 r.NumberForma = _ ¥* #,#0.00_ ;_ ¥* -#,#0.00_ ;_ ¥* -?_ ;_ _ /设置单元格格式为日期类型 r.NumberForma = yyyy-m-d /设置单元格格式为时间类型 r.NumberForma = $-F400h:mm:ss AM/PM /设置单元格格式为百分比类型,小数点后2位 r.NumberForma = 0.00% /设置单元格格式为分数类型,分母为一位数 r.NumberForma = # ?/? /设置单元格格式为科学技术类型,小数位数为2 r.NumberForma = 0.00E+00 /设置单元格格式为特殊类型 r.NumberForma = 000000B、上下标格式的控制;代码:/控制输出样式为下标 mySheet.get_Range(mySheet.Cellsi + 3, DT.Columns.Count - 3, mySheet.Cellsi + 3, DT.Columns.Count - 3).get_Characters(a.Length + 1, b.Length).Font.Subscript = true; /控制输出样式为上标 mySheet.get_Range(mySheet.Cellsi + 3, DT.Columns.Count - 3, mySheet.Cellsi + 3, DT.Columns.Count - 3).get_Characters(a.Length + b.Length + 1, c.Length).Font.Superscript = true;C、 单元格水平垂直对齐方式;代码:/单元格水平,垂直居中 r.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; r.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter; 上面代码中,枚举XLHAlign的值还有: / 右对齐 xlHAlignRight, / 左对齐. xlHAlignLeft, / 两端对齐. xlHAlignJustify, / 分散对齐(缩进) xlHAlignDistributed, / 居中对齐 xlHAlignCenter, / 依照数据类型对齐,常规 xlHAlignGeneral, / 填充 xlHAlignFill, / 跨列对齐. xlHAlignCenterAcrossSelection = 7, 枚举XLVAlign的值还有: / 靠上对齐 xlVAlignTop, /两端对齐. xlVAlignJustify = -4130, /分散对齐. xlVAlignDistributed, /居中对齐. xlVAlignCenter, /靠下对齐. xlVAlignBottom = -4107,D、 单元格边框设置;代码:/设置边框 Excel.Range r = mySheet.get_Range(mySheet.Cells1, 1, mySheet.CellsDT.Rows.Count + 2, DT.Columns.Count - 3);r.Borders.LineStyle = Excel.XlLineStyle.xlContinuous; 枚举XlLineStyle中还有下面线形: /没边框线 xlLineStyleNone, /双线. xlDouble, /点状线. xlDot, /虚线. xlDash, /连续线. xlContinuous, /点线交互型 xlDashDot, /两点一线型 xlDashDotDot, /斜线. xlSlantDashDot,E、单元格合并 用get_Range方法获取要合并的单元格,再设置MergeCells属性的值进行合并。代码: /合并单元格 myExcel.get_Range(myExcel.Cells1, 1, myExcel.Cells1,4).MergeCells = true;F、字体设置先用get_Range方法选中要设置字体的某个单元格或者或者直接用get_Characters方法直接选中要设置的字符进行设置;代码:/加粗字体 myExcel.get_Range(myExcel.Cells1, 1, myExcel.Cells1, 1).Font.Bold = true; /设置字体大小 myExcel.get_Range(myExcel.Cells1,1,myExcel.Cells1,1).Font.Size = 16; /设置字体的颜色 myExcel.get_Range(myExcel.Cells1, 1, myExcel.Cells1, 1).Font.ColorIndex = 3; /设置字体 myExcel.get_Range(myExcel.Cells1, 1, myExcel.Cells1, 1).Font.Name = 隶书; /设置成斜体 myExcel.get_Range(myExcel.Cells1, 1, myExcel.Cells1, 1).Font.Italic = true; /设置下划线myExcel.get_Range(myExcel.Cells1, 1, myExcel.Cells1, 1).Font.Underline = true;G、冻结行列 用get_Range方法获取单元格,再设置其Freezepanes属性为true,就把该单元格右上方的行和列都冻结了,取消冻结将其值设为false即可。/冻结行列 myExcel.get_Range(myExcel.Cells3,1,myExcel.Cells3,1).Activate(); myExcel.ActiveWindow.FreezePanes = true;H、 公式输入栏的隐藏/设置是否显示Excel公式输入栏,默认为true myExcel.DisplayFormulaBar = false;I、 列标题与行标题的隐藏 /设置是否显示行和列的标题,默认为true myExcel.ActiveWindow.DisplayHeadings = false;J、网格的隐藏 /设置是否显示网格,默认为true myExcel.ActiveWindow.DisplayGridlines = false;K、 水平、垂直滚动条的隐藏 /设置是否显示水平滚动条 myExcel.ActiveWindow.DisplayHorizontalScrollBar = false; /设置是否显示垂直滚动条 myExcel.ActiveWindow.DisplayVerticalScrollBar = false;L、页的隐藏Sheet /设置是否显示Sheet页 myExcel.ActiveWindow.DisplayWorkbookTabs = false; 经过格式设置以后,展示在页面上的效果如下图: 3、 向Excel中填充数据,并保存为临时文件 代码: Excel.Application myExcel = new Excel.Application(); /打开模板文件 myExcel.Application.Workbooks.Open(mode.FullName, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing); /选中有数据的Cells Excel.Workbook myBook = myExcel.Workbooks1; Excel.Worksheet mySheet = (Excel.Worksheet)myBook.Worksheets1; Excel.Range r = mySheet.get_Range(mySheet.Cells1, 1, mySheet.CellsDT.Rows.Count + 2, DT.Columns.Count - 3); r.Select(); /不单独显示Excel,最后在IE中显示 myExcel.Visible = false; /第一行为报表的标题 myExcel.Cells1, 1 = 用模板导出的报表; /逐行写入数据,数组中第一行为报表的列
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电工工考试题及答案
- 文化产业管理证书考生心得体会
- 精密医学发展的趋势与挑战试题及答案
- 育婴师文化敏感性的提升考核试题及答案
- 林肯事故测试题及答案
- 卫生管理创新方法与案例试题及答案
- 激光多功能应用试题及答案
- 自主招生网络试题及答案
- 污水管道疏通试题及答案
- 西医临床数据收集技巧试题及答案
- 跨境电商平台下的中国二手车出口模式
- 2024国家电投集团中国电力招聘(22人)笔试参考题库附带答案详解
- 2024年辅导员岗位素质试题及答案
- 运动素质知到课后答案智慧树章节测试答案2025年春浙江大学
- 树立正确的婚恋观讲座课件
- 急性阑尾炎中医护理查房
- (高清版)DB12∕T 934-2020 公路工程资料管理技术规程
- 【罗兰贝格】2025全球医疗器械报告-创新与效率平衡之道
- 居间费用分配协议
- 比亚迪入职考试题及答案
- 2025年杭州万向职业技术学院单招职业适应性测试题库及答案1套
评论
0/150
提交评论