在OFFICE中使用构架

由于打算研究微软的OPEN XML,决定先进行一下补习,研究一下xsd在OFFICE SYSTEM中的应用。
OFFICE从2000就开始支持XML,但到2003才达到真正的功能可用(实用、适用),到2007又有了一个质的飞越。

如何收集数据,整理数据,分析数据对任何单位都是一个很值得探讨的问题。下文简要叙述了如何在OFFICE中使用构架来进行数据的标准化。废话不多说了,直接转入正题 : }

一、先建立一个XSD
先按需要做一个XSD如下图,由于个人爱好这里使用的是XMLSpy,其实用VS也很容易做。

以下是导出的详细说明:
Schema 配送单.xsd


schema location: C:/Documents and Settings/Administrator.GTJDELL/桌面/xml研究/配送单.xsd
attribute form default: unqualified
element form default: qualified
targetNamespace: http://blog.csdn.net/sjzwl
 

Elements 
配送单 



element 配送单 element 配送单/配送店名 element 配送单/要货日期 element 配送单/要货类别 element 配送单/发货日期 element 配送单/发货人 element 配送单/承运人 element 配送单/收货人 element 配送单/添加时间 element 配送单/配送单明细 element 配送单/配送单明细/产品名称 element 配送单/配送单明细/要货数量 element 配送单/配送单明细/发货数 element 配送单/配送单明细/收货数 element 配送单/配送单明细/存货量 XMLSpy Schema Editor http://www.altova.com/xmlspy

diagram
namespacehttp://blog.csdn.net/sjzwl
properties
content complex
children配送店名 要货日期 要货类别 发货日期 发货人 承运人 收货人 添加时间 配送单明细
annotation
documentation
产品申请配送单
source<xs:element name="配送单">
 
<xs:annotation>
   
<xs:documentation>产品申请配送单</xs:documentation>
 
</xs:annotation>
 
<xs:complexType>
   
<xs:sequence>
     
<xs:element name="配送店名" type="xs:string"/>
     
<xs:element name="要货日期" type="xs:date"/>
     
<xs:element name="要货类别" type="xs:string"/>
     
<xs:element name="发货日期" type="xs:date"/>
     
<xs:element name="发货人" type="xs:string"/>
     
<xs:element name="承运人" type="xs:string"/>
     
<xs:element name="收货人" type="xs:string"/>
     
<xs:element name="添加时间" type="xs:dateTime"/>
     
<xs:element name="配送单明细" maxOccurs="unbounded">
       
<xs:complexType>
         
<xs:sequence>
           
<xs:element name="产品名称" type="xs:string"/>
           
<xs:element name="要货数量" type="xs:int"/>
           
<xs:element name="发货数" type="xs:int"/>
           
<xs:element name="收货数" type="xs:int"/>
           
<xs:element name="存货量" type="xs:int"/>
         
</xs:sequence>
       
</xs:complexType>
     
</xs:element>
   
</xs:sequence>
 
</xs:complexType>
</xs:element>


diagram
namespacehttp://blog.csdn.net/sjzwl
typexs:string
properties
isRef 0
content simple
source<xs:element name="配送店名" type="xs:string"/>


diagram
namespacehttp://blog.csdn.net/sjzwl
typexs:date
properties
isRef 0
content simple
source<xs:element name="要货日期" type="xs:date"/>


diagram
namespacehttp://blog.csdn.net/sjzwl
typexs:string
properties
isRef 0
content simple
source<xs:element name="要货类别" type="xs:string"/>


diagram
namespacehttp://blog.csdn.net/sjzwl
typexs:date
properties
isRef 0
content simple
source<xs:element name="发货日期" type="xs:date"/>


diagram
namespacehttp://blog.csdn.net/sjzwl
typexs:string
properties
isRef 0
content simple
source<xs:element name="发货人" type="xs:string"/>


diagram
namespacehttp://blog.csdn.net/sjzwl
typexs:string
properties
isRef 0
content simple
source<xs:element name="承运人" type="xs:string"/>


diagram
namespacehttp://blog.csdn.net/sjzwl
typexs:string
properties
isRef 0
content simple
source<xs:element name="收货人" type="xs:string"/>


diagram
namespacehttp://blog.csdn.net/sjzwl
typexs:dateTime
properties
isRef 0
content simple
source<xs:element name="添加时间" type="xs:dateTime"/>


diagram
namespacehttp://blog.csdn.net/sjzwl
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
children产品名称 要货数量 发货数 收货数 存货量
source<xs:element name="配送单明细" maxOccurs="unbounded">
 
<xs:complexType>
   
<xs:sequence>
     
<xs:element name="产品名称" type="xs:string"/>
     
<xs:element name="要货数量" type="xs:int"/>
     
<xs:element name="发货数" type="xs:int"/>
     
<xs:element name="收货数" type="xs:int"/>
     
<xs:element name="存货量" type="xs:int"/>
   
</xs:sequence>
 
</xs:complexType>
</xs:element>


diagram
namespacehttp://blog.csdn.net/sjzwl
typexs:string
properties
isRef 0
content simple
source<xs:element name="产品名称" type="xs:string"/>


diagram
namespacehttp://blog.csdn.net/sjzwl
typexs:int
properties
isRef 0
content simple
source<xs:element name="要货数量" type="xs:int"/>


diagram
namespacehttp://blog.csdn.net/sjzwl
typexs:int
properties
isRef 0
content simple
source<xs:element name="发货数" type="xs:int"/>


diagram
namespacehttp://blog.csdn.net/sjzwl
typexs:int
properties
isRef 0
content simple
source<xs:element name="收货数" type="xs:int"/>


diagram
namespacehttp://blog.csdn.net/sjzwl
typexs:int
properties
isRef 0
content simple
source<xs:element name="存货量" type="xs:int"/>



XML Schema documentation generated by

完成XSD的设计后就可以在OFFICE中使用了(当然,也不限于此)
二、InfoPath中用使用
在设计表单模板时选XML或架构,然后选先前设计好的那个XSD,进行设计就好了。

三、EXCEL中的应用

在开发工具中设置“源”,根据需要设计一个报表,将相应单元格进行映射即可。

四、WORD中的使用
由于在WORD中使用构架收集数据较少用,且确实没前两项实用,就贴个图吧。

五:导入数据库
先看看前面导出的XML吧,使用架构后,导出的数据是完全依照架构生成的。

将这个数据导入ACCESS中:

 数据库中的数据:

 

哈哈,完成了。由于上面的用xsd设计的比较简单,很多应有的约束什么的都没设,暂时还达不到应用的程度,但从以上过程可以看出,在OFFICE中应用构架还是蛮简单的。

具体在何时用,怎么用就看大家的了。


更多参考见MSDN:
Microsoft Office Word 2003 中的 XML
http://www.microsoft.com/china/msdn/library/office/office/XMLMsWord03.mspx?mfr=true
Microsoft Office Word 2003 中的 XML
http://www.microsoft.com/china/msdn/library/office/office/XMLOfficeWord2003.mspx?mfr=true
Microsoft Office Word 2003 XML:备忘录样式示例
http://www.microsoft.com/china/msdn/library/office/office/OFFwd2003wd11xml.mspx?mfr=true
在 Excel 2003 中创建 XML 映射
http://www.microsoft.com/china/msdn/library/office/office/ExcelXMLMapping.mspx?mfr=true

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值