• 导入资料的预览与修改


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

  • 相关阅读:
    Linux性能监控
    程序员技术练级攻略
    使用 GDB 调试多进程程序
    nginx下面部署fast-cgi和C++【原】
    ROS Learning-024 (提高篇-002) rviz的安装和使用
    ROS Learning-023 (提高篇-001) 准备工作 --- 安装一些必要的软件包
    STM32 C++编程 005 I2c(Soft)类
    Python 网络爬虫 005 (编程) 如何编写一个可以 下载(或叫:爬取)一个网页 的网络爬虫
    设置 PyCharm 软件中 Terminal 窗口 中启动的 python 交互命令的版本
    在PyCharm 软件中设置你的项目 使用的Python版本
  • 原文地址:https://www.cnblogs.com/Geton/p/4460747.html
Copyright © 2020-2023  润新知