OWC资料收集-在 Office 图表组件使用一个 XML DataSource

本文介绍如何使用Office图表组件绑定到XML数据。包括通过ASP生成XML流并绑定到图表,以及利用XML数据岛进行绑定的方法。
注意:这篇文章是由无人工介入的自动的机器翻译系统翻译完成。这些文章是微软为不懂英语的用户提供的, 以使他们能够理解这些文章的内容。微软不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的使用所引起的任何直接的, 或间接的可能的问题负责。
文章编号:286212
最后修改:2007年2月22日
修订:2.5

概要

本文阐释 Office 图表组件可绑定到中可扩展标记语言 (XML) 是持久化, ActiveX 数据对象 (ADO) 记录集如何。

回到顶端

更多信息

可绑定到记录集是 XML 以两种方式之一中持久化,:
使用 OLEDB 持久性提供程序将其绑定到 XML 流包含持久化记录。 此技术 XML 生成与 Active Server Pages (ASP) 时或 XML 是存储在文件时很有用。 - 或 -

对于 ChartSpace 到打开 ADO 流包含 XML 数据从 ADO 记录集设置 DataSource 属性。 您可使用此方法来访问存储在 XML 数据岛承载 Chart 组件相同 Web页上持续记录。
两种技术都示示例。

使用 XML 数据与 ASP 生成图表 DataSource
1.将以下代码作为 GetXMLData.asp 是您 Web 服务器虚拟根文件夹中。 默认情况下, 虚拟根文件夹是 C:/Inetpub/Wwwroot。 如果需要, 修改路径以匹配所安装的 Office Northwind.mdb 数据库示例。
<% Language="VBScript" %>

<%
    Response.ContentType = "text/xml"
    Response.Buffer = true
    
    Dim oRS, XMLDom
    Set oRS = CreateObject("ADODB.Recordset")
    oRS.Open "select * from [Category Sales for 1997]", _
             "Provider=Microsoft.Jet.OLEDB.4.0;" & _
             "Data Source=c:/program files/microsoft office/office10/samples/northwind.mdb", 3, 1
    set XMLDom = CreateObject("MSXML.DOMDocument")
    oRS.Save XMLDom, 1 
    Response.Write XMLDom.XML
    oRS.Close

    Response.Flush
    Response.End
%>
					
2.将以下 HTML 代码作为 ChartXML1.htm 是您 Web 服务器虚拟根文件夹中。 为您的 Web 服务器名称将 YourWebServer 为脚本。
<html>

<body>

<object classid="clsid:0002E556-0000-0000-C000-000000000046" id="CSpace" width="576" height="384">
</object>

</body>

<script language="VBScript">

   'Bind the chart to the recordset.
   Dim c
   Set c = CSpace.Constants
   CSpace.ConnectionString = "Provider=MSPersist"
   CSpace.CommandText = "http://YourWebServer/getxmldata.asp"
   CSpace.HasMultipleCharts = False
   CSpace.PlotAllAggregates = c.chPlotAggregatesSeries
   CSpace.SetData c.chDimCategories, c.chDataBound, "CategoryName"
   CSpace.SetData c.chDimValues, c.chDataBound, "CategorySales"

</script>
             
</html>
					
3.启动 MicrosoftInternetExplorer 并浏览到 http:// YourWebServer / ChartXML1.htm, 其中 YourWebServer 是 Web 服务器名称 。 绑当网页加载, 脚本定到从 GetXMLData.asp 返回 XML 流图表。 结果图表包含一个系列, 绘制分类销售信息从 Northwind.mdb。
用于 XML 数据岛 DataSource 图表
1.保存为 ChartXML2.htm 以下代码:
<html>

<body>

<object classid="clsid:0002E556-0000-0000-C000-000000000046" id="CSpace" width="576" height="384">
</object>

<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
	xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
	xmlns:rs='urn:schemas-microsoft-com:rowset'
	xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
  <s:ElementType name='row' content='eltOnly'>
    <s:AttributeType name='CategoryName' rs:number='1' rs:maydefer='true' rs:writeunknown='true'>
      <s:datatype dt:type='string' dt:maxLength='15'/>
    </s:AttributeType>
    <s:AttributeType name='CategorySales' rs:number='2' rs:nullable='true' rs:maydefer='true' rs:writeunknown='true'>
      <s:datatype dt:type='number' rs:dbtype='currency' dt:maxLength='8' rs:precision='19' rs:fixedlength='true'/>
    </s:AttributeType>
    <s:extends type='rs:rowbase'/>
  </s:ElementType>
</s:Schema>
<rs:data>
  <z:row CategoryName='Beverages' CategorySales='102074.29'/>
  <z:row CategoryName='Condiments' CategorySales='55277.56'/>
  <z:row CategoryName='Confections' CategorySales='80894.11'/>
  <z:row CategoryName='Dairy Products' CategorySales='114749.75'/>
  <z:row CategoryName='Grains/Cereals' CategorySales='55948.82'/>
  <z:row CategoryName='Meat/Poultry' CategorySales='81338.06'/>
  <z:row CategoryName='Produce' CategorySales='53019.98'/>
  <z:row CategoryName='Seafood' CategorySales='65544.19'/>
</rs:data>
</xml>

</body>

<script language="VBScript">

   'Obtain a string that represents the XML data island.
   Dim oXML, sXML
   Set oXML = document.body.getElementsByTagName("xml")
   sXML = oXML(0).OuterHTML

   'Load the XML "string" into an ADO recordset.
   Dim oRS, oStream
   Set oRS = CreateObject("ADODB.Recordset")
   Set oStream = CreateObject("ADODB.Stream")
   oStream.Open
   oStream.WriteText sXML
   oStream.Position = 0
   oRS.Open oStream

   'Bind the chart to the recordset.
   Dim c
   Set c = CSpace.Constants
   Set CSpace.DataSource = oRS   
   CSpace.HasMultipleCharts = False
   CSpace.PlotAllAggregates = c.chPlotAggregatesSeries
   CSpace.SetData c.chDimCategories, c.chDataBound, "CategoryName"
   CSpace.SetData c.chDimValues, c.chDataBound, "CategorySales"

</script>
             
</html>
					
2.启动 InternetExplorer 并浏览到 ChartXML2.htm。 网页加载, 时绑图表脚本定到 XML 数据岛中保持并绘制一系列用于分类销售记录。

回到顶端

参考

有关其他信息, 请单击文章编号, 查看 Microsoft 知识库文章中文章:
288907 (http://support.microsoft.com/kb/288907/) Office XP 图表组件绑定到数据源信息:
286278 (http://support.microsoft.com/kb/286278/) 创建一个交互式 Office XP 结构图服务器端使用 ASP
有关详细信息, 请参阅下列 Microsoft Web 站点
使用 MicrosoftOfficeWebComponents
http://support.microsoft.com/ofd (http://support.microsoft.com/ofd)

MicrosoftOffice 开发中心
http://msdn.microsoft.com/office/ (http://msdn.microsoft.com/office/)

以 XML 格式保存 ADO 记录集
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/samples/internet/xml/adoxml/default.asp (http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/samples/internet/xml/adoxml/default.asp)
有关使用 XML 数据源与 Office 2000, 请单击下列文章编号以查看 Microsoft 知识库中相应:
249805 (http://support.microsoft.com/kb/249805/) HOWTO: 使用 XML 数据与图表组件
 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农丁丁

你的认可是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值