在大部分的项目中,导入导出是一个极其普遍的功能。在前面的博文中,已提到过动态的导出资料,现在我们主要来谈一下导入的功能,这里的导入,是从EXCEL文件中读取数据源,在正式保存到数据库之前,可以对其结果进行预览,同时可以编辑后再保存到数据库里去。其实要说的东西不多,主要是实现起来还是有点复杂,下面提供我的方法,效果如下,如果大家有不同的方法,也希望提出。

1. 首先看一下导入的表格格式。这里的表头不允许做修改。数据必须从第三行开始。

导入资料的预览与修改

2.选择导入的文件。

导入资料的预览与修改

上传示意图。

导入资料的预览与修改

导入资料的预览与修改

3.上传后的预览效果图。

导入资料的预览与修改

细心的朋友会问,为何导入的栏位这么少,在这里却显示了如此多的栏位? 这是串联到其它表获取的信息,方便用户直观了解信息。而这里的预览信息可以修改后保存。修改后的会红色标记着。如下图。

导入资料的预览与修改

保存后,即可导入数据库里了。

导入资料的预览与修改

这时查看数据库,数据相符。

导入资料的预览与修改

而这一切基本不太需要更改后台的代码,只需要简单的配置一下XML文件即可。下面是XML的代码。

<?xml version="1.0" encoding="utf-8" ?>
<EAI xmlns="urn:mapping-schema" from="ExcelFile" to="SqlServerDataBase">
  <Source>
    <file range="A2" dataSourceName="Test.xls" name="Sheet1" titleLine="2" autoGenColumnTitle="false" handType="EAI.FileHandler.ExcelExport">
    </file>
  </Source>
  <Target>
    <table name="KAL_USALRYDTL" dataSourceName="SqlServer" handType="EAI.DataBaseHandler.SqlServerImport">
      <fields>
        <field name="SUSER" mapping="员工编号" primaryKey="true" canNull="false" dbType="Char" length="20" vaLock="true" nochange="true"
               reftable="LTKPAS_USER" valuefield="USERID" valuetitle="员工编号" displayfield="DESCRIPTION" displaytitle="姓名">
        </field>
        <field name="SALRY2" mapping="工资项目类型" primaryKey="true" canNull="false" dbType="Char" length="2" vaLock="true" nochange="true"></field>
        <field name="DATE" mapping="实施日期" primaryKey="true" canNull="false" dbType="SmallDateTime" vaLock="true"></field>
        <field name="SALRY" mapping="工资项目" primaryKey="true" canNull="false"  dbType="char" length="10" nochange="true"
               reftable="KAL_SALRYTP1" valuefield="SALRY" valuetitle="工资项目" displayfield="DESCR" displaytitle="工资项目说明"
               reftoptablefield="SALRYTP2"
               refptable="KAL_SALRYTP2" valuepfield="SALRY2" valueptitle="工资项目类型" displaypfield="DESCR" displayptitle="工资项目类型说明" >
        </field>
        <field name="QTY" mapping="金额" canNull="false" dbType="float" ></field>
        <field name="CMT" mapping="备注"></field>
      </fields>
    </table>
  </Target>
</EAI>
View Code

相关文章:

  • 2021-10-03
  • 2022-12-23
  • 2021-12-13
  • 2022-12-23
  • 2021-04-13
  • 2021-06-20
  • 2021-12-07
  • 2021-09-04
猜你喜欢
  • 2022-03-08
  • 2022-03-11
  • 2021-08-11
  • 2021-09-19
  • 2021-09-29
  • 2022-02-06
  • 2021-11-29
相关资源
相似解决方案