导入资料的预览与修改

      在大部分的项目中,导入导出是一个极其普遍的功能。在前面的博文中,已提到过动态的导出资料,现在我们主要来谈一下导入的功能,这里的导入,是从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

本来是想多写点什么的,但实在是太忙了,就上个效果图,最近也少更新博客,特意来凑个数。让大家知道我还在IT届混饭吃。

如大家对这方面的功能有兴趣,可以加入Q群:(238916811) 一起讨论。

原文地址:https://www.cnblogs.com/Geton/p/4460747.html