1、OWC的使用OWC(Office Web Components)的使用OWC介绍Microsoft Office 2000中包含有一组称为OWC的新控件集合。利用这些组件,可以在WEB浏览器以及其他传统的编程环境下创建许多有用的数据分析解决方案与报表生成解决方案。Office Web Component是一组COM(Component Object Model:组件对象模型)控件的集合,用于为多种控件容器提供交互式的电子数据表模型、数据库报表与数据可视化服务。OWC库中包含四个主要组件:Spreadsheet(电子数据表)组件、Chart(图表)组件、PivotTable(数据透视表)组件、D
2、ata Source(数据源)组件。Office Web Components的非凡之处在于它们可以在诸如Web页面、Visual Basic表单等的控件容器中使用,也可在内存中作为不可见对象使用。大多数COM控件只能在控件容器中作为可视控件使用,而大多数不可见对象则只能在内存中使用,而不能放入表单中或Web页面中。OWC库中的组件可以以以上两种方式被使用,从而使得用户可以以界面方式引用控件,或者使控件为其提供基本服务。以不可见对象方式使用组件的能力也可以方便的在服务器上使用这个库,从而轻易的产生在任何Web浏览器上查看静态内容。OWC中的所有控件都支持丰富的编程接口集合,使得开发者可以通过M
3、icrosoft VBScript、Microsoft Jscript、Microsoft VBA、Java、C+与任何其他可调用双向或快速COM接口的语言来调用这些控件。OWC使用VBS脚本语言初始化,基于脚本间可以自由访问在JSP页面也可以正常自由使用该控件,OWC使用在IE5.0以上浏览器,在前台初始化 VBS中初始化倒入数据载入模版Sub window_onload Spreadsheet1.HTMLURL=res.htm /载入模版,模版为 Spreadsheet1.DisplayToolbar=true Spreadsheet1.ActiveWindow.ScrollRow=1 S
4、preadsheet1.ActiveWindow.ScrollColumn=1 get_data End Subsub get_data() spreadsheet1.ActiveSheet.Cells(2,1).value=/具体位置所载入的值 spreadsheet1.ActiveSheet.Cells(2,2).value= spreadsheet1.ActiveSheet.Cells(2,3).value= spreadsheet1.ActiveSheet.Cells(2,4).value= spreadsheet1.ActiveSheet.Cells(2,5).value= spre
5、adsheet1.ActiveSheet.Cells(2,6).value= spreadsheet1.ActiveSheet.Cells(2,7).value= spreadsheet1.ActiveSheet.Cells(2,8).value= spreadsheet1.ActiveSheet.Cells(2,9).value= spreadsheet1.ActiveSheet.Cells(2,10).value= spreadsheet1.ActiveSheet.Cells(2,11).value= end sub 如何获取变量值定义一个全局变量在VBS中将OWC的值赋给该变量,通过脚本
6、间的调用,将值传递sub IsDate()showstr=spreadsheet1.ActiveSheet.Cells(2,8).value/赋值End subvar showstr;/定义全局变量function save() var sst; IsDate_VBS = IsDate(); sst=showstr showstr1.value=sst;/赋值 alert(showstr1.value); var contractForm = document.forms0; contractForm.target=_self; contractForm.submit(); 页面代码后台通过r
7、equest获取OWC属性值设置将数据输入组件 之前我已经讲述了多个将数据输入组件的技巧。我现在将更详细的描述编程模型中的这些技巧。表21列出了与装载数据相关的属性和方法,所有这些属性和方法都通过电子表格对象的接口公布。表 2-1. 装载数据相关的属性和方法。属性或方法描述Spreadsheet.DataType字符串类型的属性,告诉电子表格组件在多个用于装载数据的属性被设置时,应该使用哪个属性来装载数据,您赋给这个属性的值就是您应该用来装载数据的那个属性的名称例如,将这个属性设置位HTMLURL,会使组件装载从属性HTMLURL中的URL处 获得的数据。Spreadsheet.HTMLDat
8、a字符串类型的属性,可用来获得或设置HTML表格格式的电子表格内容。这种格式也包含了额外的属性和XML标签,这些属性和标签是用来保留重建电子表格模型所必须的信息(例如一个单元公式)的,不过它们不属于HTML3.2的表格格式。您可以将这个属性设置为包含了一个HTML表格的一个字符串,或者在需要保存时通过读取该属性值来获得电子表格完整的内容。Spreadsheet.HTMLURL字符串类型的属性,包含了一个URL,可以从这个URL处装载电子表格的数据。这个URL必须返回一个包含了表格的HTML文档。使用Excel 2000中来保存为HTML格式的电子表格可以使用这个属性来装载,这个属性也可以是一个
9、从数据库中实时生成表格的ASP页面或CGI程序。Spreadsheet.CSVData字符串类型的属性,和属性HTMLData类似,不过它接受和返回的数据的格式是CSV。当需要从不能发布HTML格式的老系统中装载数据时这个属性很有用。Spreadsheet.CSVURL字符串类型的属性,和属性HTMLURL类似,不过它希望从URL处获得的数据格式是CSV格式的。就象HTMLURL属性一样,这个URL可以是一个从数据库中实时生成表格的ASP页面或CGI程序。Spreadsheet.LoadText可以将一个被分隔的文本文件载入电子表格的方法。与CSV格式不同的是,这个文本文件可以使用任何字段分隔
10、符。Range对象也可使用LoadText方法和它的兄弟方法ParseText,来将文本载入电子表格的一个指定的区域中。LoadText方法可以指向一个您本地文件系统中的文件或指向一个URL。使用区域电子表格组件中最常使用的编程接口是Range对象。很多方法都返回Range对象,当需要对一个区域的各单元进行修改,格式化,排序和设置自动筛选时,都会用到Range对象。表22显示了在你建立电子表格组件的解决方案时应该了解的Range对象的属性和方法。表 2-2. Range对象主要的属性和方法。属性或方法介绍Spreadsheet.Range该方法接受一个区域引用(例如A1:B2或A:B),返回一
11、个Range对象。因为一个区域可以只有一个单元,因此您也可以传入单个单元的引用(例如A1)。该方法也可以接受两个不同的单元引用,而返回一个含盖这两个单元的区域。Range.Address该属性返回一个区域的地址(例如,A1:B2)。Range.Cells当我首次看到这个函数时,我非常迷惑,因为它被定义为返回另一个Range对象。不过,您可以将该属性当作多个单元的一个集合,也就是说您可以使用For Each循环访问其中的每一个单元。该属性也可以以二维数组的形式来访问。例如,MyRange.Cells(1,3).Value会返回区域中行1,列3的值。电子表格和工作表对象也有Cells属性,因此您可
12、以使用它代替前面提到的Range方法来访问指定单元。 Range.Column, Range.Row 这些属性指出区域中首行和首列的编号。当您在一个区域的行和列中进行迭代时,如果需要知道当前位于哪行哪列,这个属性非常有用。Range.Columns, Range.Rows虽然在名称上和前两个属性非常相似,但是这对属性返回的是Range对象包含的行或者列的集合。Range.Columns.Count和Range.Rows.Count可以告诉你当前区域中行和列的数目。Range.HTMLData该属性和Spreadsheet.HTMLData属性相似,不过Range对象的这个属性是只读的。使用它可
13、以快速获得一个给定区域中数据的HTML表格的表现形式。Range.Value该属性获得或设置区域的值。虽然帮助文件说在区域由多个单元构成时Range.Value会返回一个二维变量数组,但实际上当前版本中这是没有实现的。不过,Range.Value可以接受一个二维数组的变量,来将数据输入区域中,当你需要使用文字值设置一个或多个单元值,或者是需要获得一个单元的无格式的值时,可以使用这个属性。(译者注:无格式的值指没有经过格式化的值。)Range.Formula该属性读写一个单元的公式字符串。当您需要获得或设置区域中一个或多个单元的公式时可以使用这个属性,记住在公式的开始使用等号(=)。 Range
14、.TextRange.Text属性返回Range.Value属性的格式化版本。当您需要在消息框或另一个用户界面元素中显示格式化的值时这个属性很有用,该属性值就是您在添加AutoFilter对象的过滤条件时传入的值。(译者注:也就是说,过滤是根据一个单元格的表面值进行过滤的)格式化在将数据载入电子表格后,您可能需要通过编程来控制格式化。每个单元都有自己的字体,对齐方式,边框,颜色和数字格式属性,所有这些特征都可以使用表23中的属性来设置。 表 2-3. 用于格式化的属性。属性描述Range.NumberFormat字符串类型的属性,控制单元中数字的格式。您可以引用现有的格式名称来使用众多的内置格
15、式(例如Currency)。也可以创建自定义格式(例如,#,#,使1000显示为1,000)。 Range.Font返回一个许多组件都能使用的常用的Font对象。Range.Font允许设置Font对象的的多个属性,例如Name,Size,Bold,Italic,Color和Underline。请注意,如果需要,可以在Font.Color属性中使用IE的颜色名。Range.Halignment, Range.Valignment这两个属性控制区域的各单元水平和垂直方向上的文本对齐方式。每个属性中定义了各自可以使用的对齐方式的枚举值。Range.Borders该属性返回一个Borders对象,可以通过它来设置每个单元边框的各个特性,
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2