在运行时获得数据
在设计时连接数据源所需的信息,在运行时必须通过代码来指定。下面的示例显示了通过使用 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 代码。本节介绍了组件包含的代码。
用于 Spreadsheet 组件时发布的
用于 Chart 组件时发布的
用于 PivotTable 组件时发布的
用于 Data Source 控件时发布的
标记
在
因为在 标记中的 value 属性中的数据是编码,所以很难阅读。如下面由 FrontPage 创建的 HTMLData 代码所示:
<x:ExcelWorkbook>
<x:ExcelWorksheets>
<x:ExcelWorksheet>
在前面“通过 Visual Basic 使用组件”中显示的示例同样适用于 VBScript,此处不再全部重复,而仅为每个组件显示一个示例,说明应使用的语法。
当您在将 Visual Basic 或 VBA 代码改为 VBScript 代码时,必须注意如下事项:
任何添加到 Web 页的脚本都必须位于 参考:MSDN