5.1将Excel转化为XML导入数据库之一

 

Excel转化为XML。以Excel2003为例说明如何将数据导入MS SQL数据库

说先俺的系统配置:

系统:Windows Server 2003 R2 X64

开发软件:Microsoft VS 2008 Team

Office版本:Excel 2003 Excel2007

数据库:MS SQL 2008

 

5.1.1建立Excel XML 映射:数据格式见表。

数据表

 

现打算将『用户名称』,『客户联系人』,『联系电话』,『客户经理』,『客户经理联系电话』,『业务类型』,『前端数量』,『业务类别』,『区域』导入MS SQL相应字段中

制定XML XSD文件,T1schema.xls文件如下:

<?xml version="1.0" standalone="yes"?>

<QQTintDataSet xmlns="http://tempuri.org/QQTintDataSet.xsd">

  <xs:schema id="QQTintDataSet" targetNamespace="http://tempuri.org/QQTintDataSet.xsd" xmlns:mstns="http://tempuri.org/QQTintDataSet.xsd" xmlns="http://tempuri.org/QQTintDataSet.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified">

    <xs:element name="QQTintDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">

      <xs:complexType>

        <xs:choice minOccurs="0" maxOccurs="unbounded">

          <xs:element name="yyqint">

            <xs:complexType>

              <xs:sequence>

                <xs:element name="id" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" type="xs:int" />

                <xs:element name="Customer" minOccurs="0">

                  <xs:simpleType>

                    <xs:restriction base="xs:string">

                      <xs:maxLength value="50" />

                    </xs:restriction>

                  </xs:simpleType>

                </xs:element>

                <xs:element name="CustomerContact" minOccurs="0">

                  <xs:simpleType>

                    <xs:restriction base="xs:string">

                      <xs:maxLength value="50" />

                    </xs:restriction>

                  </xs:simpleType>

                </xs:element>

                <xs:element name="CustomerTelephone" minOccurs="0">

                  <xs:simpleType>

                    <xs:restriction base="xs:string">

                      <xs:maxLength value="50" />

                    </xs:restriction>

                  </xs:simpleType>

                </xs:element>

                <xs:element name="AccountManager" minOccurs="0">

                  <xs:simpleType>

                    <xs:restriction base="xs:string">

                      <xs:maxLength value="50" />

                    </xs:restriction>

                  </xs:simpleType>

                </xs:element>

                <xs:element name="AMTelephone" minOccurs="0">

                  <xs:simpleType>

                    <xs:restriction base="xs:string">

                      <xs:maxLength value="50" />

                    </xs:restriction>

                  </xs:simpleType>

                </xs:element>

                <xs:element name="AccessType" minOccurs="0">

                  <xs:simpleType>

                    <xs:restriction base="xs:string">

                      <xs:maxLength value="50" />

                    </xs:restriction>

                  </xs:simpleType>

                </xs:element>

                <xs:element name="AccessAmount" type="xs:int" minOccurs="0" />

                <xs:element name="BusinessName" minOccurs="0">

                  <xs:simpleType>

                    <xs:restriction base="xs:string">

                      <xs:maxLength value="50" />

                    </xs:restriction>

                  </xs:simpleType>

                </xs:element>

                <xs:element name="Regional" minOccurs="0">

                  <xs:simpleType>

                    <xs:restriction base="xs:string">

                      <xs:maxLength value="50" />

                    </xs:restriction>

                  </xs:simpleType>

                </xs:element>

                <xs:element name="PlatformLoginAccountid" type="xs:int" minOccurs="0" />

                <xs:element name="AccessInforid" type="xs:int" minOccurs="0" />

                <xs:element name="Implementationid" type="xs:int" minOccurs="0" />

              </xs:sequence>

            </xs:complexType>

          </xs:element>

        </xs:choice>

      </xs:complexType>

      <xs:unique name="Constraint1" msdata:PrimaryKey="true">

        <xs:selector xpath=".//mstns:yyqint" />

        <xs:field xpath="mstns:id" />

      </xs:unique>

    </xs:element>

  </xs:schema>

    <yyqint>

    <id></id>

    <Customer></Customer>

    <CustomerContact></CustomerContact>

    <CustomerTelephone></CustomerTelephone>

    <AccountManager> </AccountManager>

    <AMTelephone></AMTelephone>

    <AccessType> </AccessType>

    <AccessAmount></AccessAmount>

    <BusinessName> </BusinessName>

    <Regional> </Regional>

    <PlatformLoginAccountid></PlatformLoginAccountid>

    <AccessInforid></AccessInforid>

    <Implementationid></Implementationid>

  </yyqint>

</QQTintDataSet>

其实这个文件可以通过DataSet. GetXmlSchema方法获取,因为DataSet读取SQL相应表结构(目标数据)一定要同Excel表导入数据的结构(源数据)一样。打开Excel源数据表格,依次点击『数据』『XML』『XML源』

 

再点击『XML映射』,添加映射文件T1schema.xls,按确定后如图

XML数据源

 

拖动『ns1:Customer』到单元格『用户名称』,如此类推,建立XML映射文件,如图:

 

映射结果

 

 

依次点击『数据』『XML导出XML映射文件Book22.xml,以备下一步使用(待续...)

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值