Microsoft Office Web 组件 PivotTable 基础

在运行时获得数据

在设计时连接数据源所需的信息,在运行时必须通过代码来指定。下面的示例显示了通过使用 ConnectionString 属性将 PivotTable List 控件连接到数据库、选择要在数据透视表列表中显示的字段以及使用 XML 文件作为数据源的方法。

示例 1   直接连接到数据库

本示例连接到罗斯文商贸示例数据库,并且使用 AutoLayout 方法将“客户”表中的所有字段填入数据透视表列表的数据区域。下面的代码可以在 OWCExamples.xls 文件的 frmPT1 窗体中找到。

Private Sub UserForm_Initialize()
Dim strPath as String
strPath = "c:\program files\microsoft office\office\samples\northwind.mdb"
    ' 创建罗斯文和 Customers 表的连接。
    PivotTable1.ConnectionString = "provider=microsoft.jet.oledb.4.0;" & _
        "data source=" & strPath
    PivotTable1.DataMember = "Customers"
    
    ' 自动填充 PivotTable 组件。
    PivotTable1.ActiveView.AutoLayout
End Sub

示例 2   指定放置字段的位置

本示例以上一示例为基础。它使用相同的连接,但没有自动填充数据透视表列表,而是使用 InsertFieldSet 方法将数据放置在不同的轴(筛选、行、数据)中。数据区域的字段使用 FieldSets 属性进行访问。FilterMember 属性用于设置 Country 字段的默认筛选。下面的代码可以在 OWCExamples.xls 文件的 frmPT2 窗体中找到。

Private Sub UserForm_Initialize()
Dim strPath as String
strPath = "c:\program files\microsoft office\office\samples\northwind.mdb"
    ' 创建罗斯文和 Customers 表的连接。
    PivotTable1.ConnectionString = "provider=microsoft.jet.oledb.4.0;" & _
        "data source=" & strPath
    PivotTable1.DataMember = "Customers"
    
    With PivotTable1.ActiveView
        .FilterAxis.InsertFieldSet .FieldSets("Country")
        .RowAxis.InsertFieldSet .FieldSets("Region")
        .DataAxis.InsertFieldSet .FieldSets("CompanyName")
        .DataAxis.InsertFieldSet .FieldSets("ContactName")
        .DataAxis.InsertFieldSet .FieldSets("Phone")
        .FieldSets("Country").FilterMember = "USA"
    End With
End Sub

示例 3   使用 XML 文件作为数据源

PivotTable 组件不能直接连接到 ADO 记录集。不过,ADO 记录集可以保存为一个 XML 文件并且 PivotTable 组件可以读取 XML 流。下面的代码(在示例文件的 frmPT3 窗体中)说明了保存 ADO 记录集然后将 PivotTable 组件连接到所保存的 XML 文件的过程。

Sub UserForm_Initialize()
    ' 创建记录集并保存为 XML 文件。
    Dim cnn As ADODB.Connection
    Dim rst As ADODB.Recordset
    Dim strPath As String
    Dim strNewLocation
    Set cnn = New ADODB.Connection
    Set rst = New ADODB.Recordset
    strPath = "C:\Program Files\Microsoft Office\Office\Samples\NorthWind.mdb"
    strNewLocation = "c:\customerlist.xml"
    cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=" & strPath
        
    ' 创建记录集并保存为 XML 文件。
    With rst
        .CursorLocation = adUseClient
        .CursorType = adOpenDynamic
        .Open "Customers", cnn
        .Save strNewLocation, adPersistXML
    End With
    
    ' 将 PivotTable 组件连接到 XML 文件并
    ' 使用数据自动填充。
    With PivotTable1
        .ConnectionString = "Provider=MSPersist"
        .CommandText = strNewLocation
        .ActiveView.AutoLayout
    End With
End Sub












组件包含的代码

在 Web 页上创建 Office Web 组件需要同时使用 HTML 和 XML 代码。本节介绍了组件包含的代码。

标记

标记识别 Web 页上使用的 Office Web 组件的类型、组件的 ClassID 和 codebase 属性(有关该属性的详细信息,请参阅本文前面的“未安装组件时的发布 msowcbasics_topic2a”一节),如下面的示例所示。

用于 Spreadsheet 组件时发布的 标记:


 
     
   

用于 Chart 组件时发布的 标记:

 
     
   

用于 PivotTable 组件时发布的 标记:

 
     
   

用于 Data Source 控件时发布的 标记:

 
     
   

标记

的开始标记和结束标记之间有很多 标记。这些标记包含该组件在 Internet Explorer 中设置显示格式的信息。当组件从 Microsoft Excel 中发布时,最后一个 标记包含从 Excel 导出的实际数据。在这个 标记中,数据通过 name 属性标识为 HTML 或 XML 文件。



因为在 标记中的 value 属性中的数据是编码,所以很难阅读。如下面由 FrontPage 创建的 HTMLData 代码所示:

<x:ExcelWorkbook>
  <x:ExcelWorksheets>
   <x:ExcelWorksheet>

在前面“通过 Visual Basic 使用组件”中显示的示例同样适用于 VBScript,此处不再全部重复,而仅为每个组件显示一个示例,说明应使用的语法。

当您在将 Visual Basic 或 VBA 代码改为 VBScript 代码时,必须注意如下事项:

任何添加到 Web 页的脚本都必须位于 参考:MSDN

转载于:https://www.cnblogs.com/floatping/archive/2006/09/21/510288.html

你可能感兴趣的:(Microsoft Office Web 组件 PivotTable 基础)