精华内容
下载资源
问答
  • 导入导出文件软件下载
    2021-08-23 10:40:01

    上传下载

    1.文件类型
    1 、各种常见的文件类型,包括bat, xls, xlsx, doc, exe, jsp, rar, zip, iso等,以及各种视频、音频和图片等。
    2、改文件名后缀,例如把xls改成xlsx,doc改成docx等
    3、关于文件名:纯中文名称、中文和英文混合、中文和数字混合文件名、中文和特殊字符(&*等)文件名、英文和数字文件名、英文和特殊字符文件名、纯英文文件名等。
    4、文件名长度:1个字符、10个字符、100个字符等,包括各种文件名下的长度。
    5、文件存储位置:D:\文件,计算机\C盘\用户\文件夹\文件,…\文件夹1\文件夹2\文件夹3\文件夹4…文件。
    2.文件名称
    1、文件名称过长
    2、文件名称达到最大长度(中文,英文或混在一起)上传后名称显示,页面排版,页面显示正常
    3、文件名称中包含特殊字符
    4、文件名全为中文
    5、文件名全为英文
    6、文件名为中、英混合
    3.文件大小
    系统是否有限制文件大小
    文件大小为0
    总大小稍小于限制大小的文件
    总大小等于限制大小的文件
    总大小稍大于限制大小的文件
    若系统限制文件大小为40M,则应测的文件大小有0M,0.1M,25M,39.9M,40M,40.1M,50M等
    4.安全性测试:
    上传可执行文件(exe文件)
    上传常见的木马文件,-提示不能上传
    上传时服务器空间已满,有提示
    5.性能测试:
    上传时网速很慢(限速),当超过一定时间,提示
    上传过程断网,有提示是否上传成功
    上传过程服务器停止工资-,有提示是否上传成功
    上传过程服务器的资源利用率,在正常范围
    6.其他
    (1)附件为空时,上传按钮是否可用,是否有提示信息,提示信息是否明确,是否可以更好的指导用户使用该功能。
    (2)附件由于某种原因上传失败,系统是否可以正常处理,是否有提示(网络突然断掉、文件本身出现损坏、上传中途客户不小心人为关掉上传对话框等)。
    (3)文件大小为临界值时,系统是否可以正常处理。
    (4)文件选择后,点击上传按钮,提示信息显示出来所要花费的时间(一般要求最大反应时间不超过3秒)。
    (5)文件上传成功后,文件名的编写是否符合用户要求的规则(如:项目要求上传上去的文件,文件名为上传日期时间+用户名+文件名,201601291131admin测试.doc)。
    (6)批量上传。
    (7)关于下载:文件是否可以正常下载,下载过程因为某些原因突然中断之后是否可以重新下载,下载下来的文件,是否可以正常打开,打开之后文件的内容是否发生变化等。

    导入导出

    导入导出与上传下载的区别大致就是上传下载只是上传下载文件,是对文件进行操作,而导入导出,一般都是操作数据
    再就是文件一般可以多个上传下载,而导入导出就是导入或导出一个文件

    1.文件类型
    各种常见的文件类型,包括bat, xls, xlsx, doc, exe, jsp, rar, zip, iso等,以及各种视频、音频和图片等。
    改文件名后缀,例如把xls改成xlsx,doc改成docx等
    关于文件名:纯中文名称、中文和英文混合、中文和数字混合文件名、中文和特殊字符(&*等)文件名、英文和数字文件名、英文和特殊字符文件名、纯英文文件名等。
    文件名长度:1个字符、10个字符、100个字符等,包括各种文件名下的长度。
    文件存储位置:D:\文件,计算机\C盘\用户\文件夹\文件,…\文件夹1\文件夹2\文件夹3\文件夹4…文件。
    2.文件名称
    文件名称过长
    文件名称达到最大长度(中文,英文或混在一起)上传后名称显示,页面排版,页面显示正常
    文件名称中包含特殊字符
    文件名全为中文
    文件名全为英文
    文件名为中、英混合
    3.文件大小
    系统是否有限制文件大小
    文件大小为0
    总大小稍小于限制大小的文件
    总大小等于限制大小的文件
    总大小稍大于限制大小的文件
    若系统限制文件大小为40M,则应测的文件大小有0M,0.1M,25M,39.9M,40M,40.1M,50M等
    4.内容校验
    1、必填项检查
      包括必填项不填
    必填项部分不填
    必填项全部填写
      2、选择项
    不选择选项
    选择其中一个
    新增一个选项
    尝试输入其他字符
      3、填写内容格式检查
       如要求整数、要求数字、要求字符、选择项、字符长度检查等。
      4、内容为空检查
    包含excel文件有很多行数据,其中某一行全部为空,某几行为空
    某一行中间某个字段为空;excel文件只有表头;excel文件无任何数据。
      5、新增一行数据,然后将数据删除【如果开发判断方法有误,会认为删除的这条数据也存在】
      6、excel数据量检查
      excel文件中数据量可以接受最大值是多少
    如果数据量较大时,后台处理时,页面如何显示
    后台的处理是单线程还是多线程
    处理时间较长时,是否会影响系统其他功能
    对数据库造成的压力会有多大
    这些问题都需要和开发确认,至少开发应该考虑到这种极限情况,进行相应的处理。
    5.文件导入
      1.错误提示
    如果excel中某一行或者某一字段格式不对或者数据为空,则应该有提示信息,提示出错的单元格与错误原因
      2.导入其他格式的文件
    系统应判断出格式不对,进行提示
      3.重复导入相同的文件
    需确认是否允许导入?如果允许数据将如何处理?比如覆盖或者忽略?
      4.excel用Word和wps两种软件编辑后导入
    如果开发使用的方法不对,会识别不了wps编辑的excel文件,需确认是否支持wps软件的编辑。
      5.不使用下载的模板,自己新建excel导入
    自己手动新建excel或者对其他excel进行修改,使excel格式和模板一致,这种情况下数据填写正确的话,应可以正确的导入系统。
      6.表头检查:包括去掉、修改、新增列、列之间切换等
      7.导入过程
      (1)文件正在被编辑或者被其他程序占用状态,是否可以正常导入;
      (2)导入的时候同时选中多个文件进行导入,查看是否可以进行导入;
    6.文件导出
    1.导出excel格式检查
    1、导出的excel格式是否符合预期
    2、excel中各字段是否正确。
    3、导出的excel文件名是否有要求。如果有要求,是否正确。
    4、不同浏览器导出的excel文件是否一致。
    2.数据检查
    1、选择数据为空时是否可以导出。
    2、数据量较少时的导出检查。
    3、excel导出时数据的分页检查。【一般数据量较大时,开发都会分批次去取数据,分页时容易出现问题】
    4、数据量很大时,系统是否会出现问题,导出的时间检查,以及对系统其他功能的影响。【简单的压力测试】
    3.除了上面的测试之外还需要考虑:
    导出的数据比较大的时候,
    1)可以考虑将导出的文件拆分成多个文件
    2)批量导出
    3)可以考虑放在线下系统中执行
    4)导出多个文件时,是否是异步导出
    5)导出的文件要打开检查,看导出数据是否完整,数据中是否存在乱码
    6)导出文件格式和文件名称
    7)导出文件是否包含字段排序规则

    更多相关内容
  • Allegro 软件中的光绘层的导入导出设置
  • 远程工具连接到 Linux 进行操作,进行 Linux 上 dmp 文件导入导出。 正文 a. 将用户 system 用户表导出到指定路径 D 盘 exp system/password@SID file=d:/daochu.dmp full=y b. 将用户 system 与 sys 用户的表...
  • 三菱PLC编程软件GX WORKS3中如何自定义库文件FB并进行导出导入库操作?
  • 数据导入导出工具是一款专业的数据导入导出软件软件最大的功能是将数据库中的数据直接导出到打开的任意表格中,软件还支持从任意打开表格中将数据导入到数据库中、将变更前的数据先保存到XML中、以及数据变化后,...
  • 数据导入、导出在软件启发实施阶段具有总要的作用,本手册意在介绍数据导入和导出的处理方法,使使用者能够简单易懂的了解数据库的导入导出操作。
  • Surfer Grid,导入/导出。 Matlab <-> Golden Software Surfer 和 Grapher 该包包含两个简单的例程:grd_write.m和grd_read.m。 他们通过 GRD 文件格式(ASCII 版本)将 Matlab 与 Golden Software Surfer 通信...
  • 源码演示了EXCEL数据导入到超级列表框和导出等操作,并用进度条显示进度。
  • 先把要安装的初始数据文件导出为initial.dmp,然后在客户计算上安装好Oracle,接着执行批处理文件impInitialData.bat(与该批处理文件同一目录还有createuser.sql,initial.dmp两个文件)。 大致的方法就是这样,可以再...
  • Oracle11G数据库的的exp和imp工具,数据库在做备份时若出现导出导入文件错误,一般是缺少exp.exe 和imp.exe工具或者该工具出行问题所致。使用方法:解压后将文件放到X:\development\Oracle\product\11.2.0\dbhome_1...
  • 1、通过PHPMyAdmin的导入导出功能,这个软件一般只支持几兆数据的导出,太大的数据可能会超时。 2、通过程序自带的数据库备份还原功能来操作,一些常见的PHP程序如DZ论坛等,后台都有数据库还原和备份的功能,方便...
  • sql导入导出工具

    2021-02-08 07:56:06
    sql导入导出工具是一款SQLserver高版本...相关软件软件大小版本说明下载地址sql导入导出工具是一款SQLserver高版本数据库导入低版本数据库的一个工具软件。相信很多朋友都遇到过数据库不兼容的问题,主要导致的原...

    sql导入导出工具是一款SQLserver高版本数据库导入低版本数据库的一个工具软件。相信很多朋友都遇到过数据库不兼容的问题,主要导致的原因就是数据从高版本到低版本的不兼容,下面小编为为大家推荐的这款工具就可以很好的解决这个问题。

    SoftView_204077.html

    相关软件软件大小版本说明下载地址

    sql导入导出工具是一款SQLserver高版本数据库导入低版本数据库的一个工具软件。相信很多朋友都遇到过数据库不兼容的问题,主要导致的原因就是数据从高版本到低版本的不兼容,下面小编为为大家推荐的这款工具就可以很好的解决这个问题

    b81ace1294ad44690fc612660c9951a5.jpg

    使用方法

    下面说明以Sqlserver2008 导入 sqlserver2000库为例说明

    1.打开sqlserver2008数据库, 找到要导出的数据库 右键单击à任务à生成脚本 点击 如下图

    1).

    db86ae3d9eaae07718ae8a06eedea793.jpg

    2).

    23c11330a366af182b04ca84ae6ab215.jpg

    3).

    7121143b982d6abccbfec43ac8e3226e.jpg

    4).

    2989523f2d35ba6d4ea239952982ffe7.jpg

    5).

    abbb3c634a8f4618f411a02a3df5e396.jpg

    确定 后 点击 下一步 一直 点击下一步 到 完成.

    2.现在 sql2000 中新建空数据库 如 Esap_demo 将导出的脚本导入SqlServer2000 查询分析器中 执行 如下图:

    2989523f2d35ba6d4ea239952982ffe7.jpg

    3.创建成功后 将程序SQL数据库导入.zip 解压 打开

    abbb3c634a8f4618f411a02a3df5e396.jpg

    配置完毕点击 确定 关闭 然后打开

    63655774b4e25354a823cf87e83b18c9.jpg

    SQL导出程序

    导出完毕后 导出数据会存储到  程序目录下 datas 文件夹

    然后将整个程序拷贝到 SQLserver2000所在的机器上

    打开 dbconnect_in.udl文件配置 sqlserver2000数据库的连接.

    配置完毕打开sql导入,exe

    选择要导入的表 并点击导入 如下图:

    a2bd163051a7e8b1be3795e38d18881c.jpg

    展开全文
  • 推荐阅读本https://eco.dameng.com/docs/zh-cn/start/index.html达梦数据库导入导出的官方参考文档: 数据导入导出 | 达梦技术文档DM 只导出表结构不导出数据针对导出数据库表结构通常有3种方法: 使用 DTS 导出...

    目录

    导入

    1.在DM管理工具中以模式方式导入

    (1)新建用户

     (2)刷新模式,找到对应的模式右键导入

    2.dimp命令导入

    (1)dimp 详细命令参数

    (2)导入命令实例

    导出

    1.在DM管理工具中以模式方式导出

    (1)选中对应模式右键导出

    2.dexp命令导出

    (1)dexp 详细命令参数

    (2)导出命令实例

    3.总结


    导入

    1.在DM管理工具中以模式方式导入

    (1)新建用户

            在用户-管理用户右键新建用户,输入用户及其密码,然后配置相应的角色及权限

     (2)刷新模式,找到对应的模式右键导入

     选择你dmp文件所在的目录及选中要导入的dmp文件,选中后你可以按你的需求修改导入选项,记住输入要导入的dmp文件的模式与现在模式,确定都没问题后点击确定即可导入

     

     

    2.dimp命令导入

    (1)dimp 详细命令参数

    help命令即可查看参数

    关键字                 说明(默认值)
    --------------------------------------------------------------------------------
    USERID                 用户名/口令 格式:USER/PWD*MPP_TYPE@SERVER:PORT#SSLPATH@SSLPWD
    FILE                   导入文件名称 (dexp.dmp)
    DIRECTORY              导入文件所在目录
    FULL                   整库导入 (N)
    OWNER                  以用户方式导入 格式 (user1,user2,...)
    SCHEMAS                以模式方式导入 格式 (schema1,schema2,...)
    TABLES                 以表名方式导入 格式(table1,table2,...)
    PARALLEL               用于指定导入的过程中所使用的线程数目
    TABLE_PARALLEL         用于指定导入的过程中每个表所使用的子线程数目,在FAST_LOAD为Y时有效
    IGNORE                 忽略创建错误 (N)
    TABLE_EXISTS_ACTION    需要的导入表在目标库中存在时采取的操作[SKIP | APPEND | TRUNCATE | REPLACE]
    FAST_LOAD              是否使用dmfldr来导数据(N)
    FLDR_ORDER             使用dmfldr是否需要严格按顺序来导数据(Y)
    COMMIT_ROWS            批量提交的行数(5000)
    EXCLUDE                忽略指定的对象 格式
                               格式 EXCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS)
    GRANTS                 导入权限 (Y)
    CONSTRAINTS            导入约束 (Y)
    INDEXES                导入索引 (Y)
    TRIGGERS               导入触发器 (Y)
    ROWS                   导入数据行 (Y)
    LOG                    指定日志文件
    NOLOGFILE              不使用日志文件(N)
    NOLOG                  屏幕上不显示日志信息(N)
    LOG_WRITE              日志信息实时写入文件(N): 是(Y),否(N)
    DUMMY                  交互信息处理(P): 打印(P), 所有交互都按YES处理(Y),NO(N)
    PARFILE                参数文件名
    FEEDBACK               每 x 行显示进度 (0)
    COMPILE                编译过程, 程序包和函数... (Y)
    INDEXFILE              将表的索引/约束信息写入指定的文件
    INDEXFIRST             导入时先建索引(N)
    REMAP_SCHEMA           格式(SOURCE_SCHEMA:TARGET_SCHEMA)
                           将SOURCE_SCHEMA中的数据导入到TARGET_SCHEMA中
    ENCRYPT_PASSWORD       数据的加密密钥
    ENCRYPT_NAME           加密算法的名称
    SHOW/DESCRIBE          打印出指定文件的信息(N)
    LOCAL                  MPP模式下登录使用MPP_LOCAL方式(N)
    TASK_THREAD_NUMBER     用于设置dmfldr处理用户数据的线程数目
    BUFFER_NODE_SIZE       用于设置dmfldr读入文件缓冲区大小
    TASK_SEND_NODE_NUMBER  用于设置dmfldr发送节点个数[16,65535]
    LOB_NOT_FAST_LOAD      如果一个表含有大字段,那么不使用dmfldr,因为dmfldr是一行一行提交的
    PRIMARY_CONFLICT       主键冲突的处理方式[IGNORE|OVERWRITE],默认报错
    TABLE_FIRST            是否先导入表(N):是(Y),否(N)
    HELP                   打印帮助信息
    ————————————————

    (2)导入命令实例

    导入 SYSDBA、OTHER、PERSON 模式中的数(SCHEMAS=SYSDBA,OTHER,PERSON),导入文件就是上一步导出的文件 dexp01.dmp,导入日志 dimp02.log 放入/emc_2/data/dimp 目录中。

    ./dimp SYSDBA/SYSDBA\@192.168.0.248:8888 FILE=/emc_2/data/dexp/dexp01.dmp LOG=dimp02.log DIRECTORY=/emc_2/data/dimp SCHEMAS=SYSDBA,OTHER,PERSON

    导出

    1.在DM管理工具中以模式方式导出

    (1)选中对应模式右键导出

     选中导出目录及给要导出的文件起名,按自己需求配置好导出选项,确认没问题点确认即可导出

    2.dexp命令导出

    (1)dexp 详细命令参数

    help命令即可查看参数

    关键字              说明(默认值)
    --------------------------------------------------------------------------------
    USERID              用户名/口令 格式:USER/PWD*MPP_TYPE@SERVER:PORT#SSLPATH@SSLPWD
    FILE                导出文件 (dexp.dmp)
    DIRECTORY           导出文件所在目录
    FULL                整库导出 (N)
    OWNER               以用户方式导出 格式 (user1,user2,...)
    SCHEMAS             以模式方式导出 格式 (schema1,schema2,...)
    TABLES              以表方式导出 格式 (table1,table2,...)
    FUZZY_MATCH         TABLES选项是否支持模糊匹配 (N)
    QUERY               用于导出表的子集的select 子句
    PARALLEL            用于指定导出的过程中所使用的线程数目
    TABLE_PARALLEL      用于指定导出的过程中表内的并发线程数目,MPP模式下会转换成单线程
    TABLE_POOL          用于指定表的缓冲区个数
    EXCLUDE             忽略指定的对象
                           格式 EXCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS) or
                                EXCLUDE=TABLES:table1,table2 or
                                EXCLUDE=SCHEMAS:sch1,sch2
    INCLUDE             包含指定的对象
                           格式 INCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS) or
                                INCLUDE=TABLES:table1,table2
    CONSTRAINTS         导出约束 (Y)
    TABLESPACE          导出对象带有表空间 (N)
    GRANTS              导出权限 (Y)
    INDEXES             导出索引 (Y)
    TRIGGERS            导出触发器 (Y)
    ROWS                导出数据行 (Y)
    LOG                 屏幕输出的日志文件
    NOLOGFILE           不使用日志文件(N)
    NOLOG               屏幕上不显示日志信息(N)
    LOG_WRITE           日志信息实时写入文件: 是(Y),否(N)
    DUMMY               交互信息处理: 打印(P), 所有交互都按YES处理(Y),NO(N)
    PARFILE             参数文件名
    FEEDBACK            每 x 行显示进度 (0)
    COMPRESS            导出数据是否压缩 (N)
    ENCRYPT             导出数据是否加密 (N)
    ENCRYPT_PASSWORD    导出数据的加密密钥
    ENCRYPT_NAME        加密算法的名称
    FILESIZE            每个转储文件的最大大小
    FILENUM             一个模板可以生成的文件数
    DROP                导出后删除原表,但不级联删除 (N)
    DESCRIBE            导出数据文件的描述信息,记录在数据文件中
    LOCAL               MPP模式下登录使用MPP_LOCAL方式(N)
    HELP                打印帮助信息

    (2)导出命令实例

    导出数据库的所有对象(FULL=Y),导出文件为 dexp01.dmp,导出日志为 dexp01.log,导出文件和日志文件都存放在/emc_2/data/dexp 目录中。

    ./dexp SYSDBA/SYSDBA\@192.168.0.248:5236 FILE=dexp01.dmp LOG=dexp01.log DIRECTORY=/emc_2/data/dexp FULL=Y

    3.总结

    达梦官网:达梦数据库-国产数据库-掌握全部源代码-拥有完全自主知识产权-大数据-云平台-DCA认证培训-数据库培训-柔性替代方案武汉达梦数据库股份有限公司,是专业提供集大数据平台架构咨询,数据技术方案规划,产品部署与实施于一体的大数据平台公司。40年来始终坚持原始创新、独立研发,掌握核心技术和前沿技术,掌握全部源代码,拥有完全自主知识产权。公司是国家规划布局内重点软件企业,获得国家“双软”认证的高新技术企业,获得国家自主原创产品认证的数据库企业,拥有国内数据库研发精英团队,多次与国际数据库巨头同台竞技并夺标。拥有稳定有效的市场营销渠道和技术服务网络,可为用户提供定制产品和本地化原厂服务,满足用户个性化要求。达梦公司产品已覆盖公安、电力、铁路、航空、审计、通信、金融、海关、国土资源、电子政务、应急救援等50多个行业领域。https://www.dameng.com/

    达梦文档:

    DM 数据库快速上手指南 | 达梦技术文档本指南为武汉达梦数据库股份有限公司(以下简称“达梦”)DM 数据库快速安装部署使用提供了一套指南规范。具体而言,本指南在 DM 数据库版本、安装部署、数据库工具、数据迁移、应用开发、集群等方面进行详细介绍并给出参考建议。 目的 帮助用户了解 DM 数据库不同版本区别。 快速、规范化从零开始搭建本地测试环境。 帮助 DBA 熟悉 DM 数据库基本操作。 协助应用快速连接 DM 数据库。 推荐阅读本https://eco.dameng.com/docs/zh-cn/start/index.html达梦数据库导入导出的官方参考文档:

    数据导入导出 | 达梦技术文档DM 只导出表结构不导出数据针对导出数据库表结构通常有3种方法: 使用 DTS 导出打开 DTS 迁移工具,选择【DM–>SQL】并链接到数据库中,如下图所示: 添加定义脚本,并选择【迁移范围】(仅迁移对象定义),如下图所示: 选择需要导出结构的表,如下图所示: 迁移完成,表结构已经导出,如下图所示: DTS 同样可以将表结构迁移至其他数据库中或者从其他数据库迁移至 DM 数据库中。https://eco.dameng.com/docs/zh-cn/faq/faq-import-export.html

    展开全文
  • 软件开发-.NET使用Aspose.Cells导入导出Excel文件-嘉为科技汇编.pdf
  • 软件开发-.NET使用Aspose.Cells导入导出Excel文件-嘉为科技定义.pdf
  • 对于做一些个人辅助软件,选择mysql数据库是个明智的选择,有一个好的工具更是事半功倍,对于MySql 的IDE 我推荐Navicat for MySql,现在我就向大家介绍如何利用Navicat for MySql 导出导入数据。 导出数据库: ...
  • Java+EasyExcel实现文件导入导出 引言 项目中需要Excel文件的导入与导出Excel并下载,例如,导入员工信息,导出员工信息,手动输入比较繁琐,所以本篇博文教大家如何在Java中导入Excel文件与导出Excel文件 技术栈 ...

    Java+EasyExcel实现文件导入导出

    引言

    项目中需要Excel文件的导入与导出Excel并下载,例如,导入员工信息,导出员工信息,手动输入比较繁琐,所以本篇博文教大家如何在Java中导入Excel文件与导出Excel文件

    技术栈

    Excel工具:EasyExcel

    选用框架:Spring、Spring MVC、MyBatis(SSM)

    项目构建管理工具:Maven

    需求:

    1. 要求利用excel工具实现员工信息的导入与导出
    2. 导出要求为输出到指定位置并下载
    3. 导入文件导入后,存入数据库,并显示在页面
    4. 导出文件,点击导出后写入指定地址,并下载该文件

    效果图

    在这里插入图片描述

    项目结构

    在这里插入图片描述

    核心源码

    导入阿里巴巴EasyExcel依赖

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>easyexcel</artifactId>
        <version>2.1.6</version>
    </dependency>
    

    这里采用EasyExcel,为什么不采用POI呢?

    因为EasyExcel是对POI做的一个升级,POI相对于笨重,EasyExcel去除了一些POI比较繁琐的东西,所以EasyExcel比较轻量级,所以本文采用EasyExcel

    EasyExcel是阿里巴巴的产品,POI是Apache基金会的开源产品,EasyExcel对POI做了一个升级

    核心实体类

    package com.wanshi.spring.entity;
    
    import com.alibaba.excel.annotation.ExcelIgnore;
    import com.alibaba.excel.annotation.ExcelProperty;
    import com.alibaba.excel.annotation.write.style.ColumnWidth;
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public class Employee {
    
        @ExcelIgnore
        private String noid;
    
        @ColumnWidth(20)
        @ExcelProperty("员工姓名")
        private String emp_name;
    
        @ColumnWidth(20)
        @ExcelProperty("员工年龄")
        private Integer emp_age;
    
        @ExcelIgnore
        private Integer emp_sex;
    
        //冗余字段
        @ColumnWidth(20)
        @ExcelProperty("员工性别")
        private String str_emp_sex;
    
        @ColumnWidth(20)
        @ExcelProperty("员工工资")
        private Double emp_salary;
    
        @ColumnWidth(20)
        @ExcelProperty("员工住址")
        private String emp_address;
    
        @ColumnWidth(20)
        @ExcelProperty("员工岗位")
        private String emp_position;
    
        //分页相关,当前页与每页的数据条数
        @ExcelIgnore
        private Integer pageNum;
        @ExcelIgnore
        private Integer pageSize;
    }
    
    

    核心监听器类

    EmployeeListener类:

    package com.wanshi.spring.listener;
    
    import com.alibaba.excel.context.AnalysisContext;
    import com.alibaba.excel.event.AnalysisEventListener;
    import com.wanshi.spring.entity.Employee;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class EmployeeReadListener extends AnalysisEventListener<Employee> {
    
        //员工集合
        private static List<Employee> employeeList = new ArrayList<>();
    
        // 每读一样,会调用该invoke方法一次
        @Override
        public void invoke(Employee data, AnalysisContext context) {
            employeeList.add(data);
            System.out.println("解析到一条数据:" + data);
        }
    
        // 全部读完之后,会调用该方法
        @Override
        public void doAfterAllAnalysed(AnalysisContext context) {
            System.out.println("全部解析完成");
        }
    
        /**
         * 返回读取到的员工集合
         * @return
         */
        public static List<Employee> getStudentList() {
            return employeeList;
        }
    }
    
    

    EasyExcel导入文件

    Test测试类实现文件导入并存入数据库

    @Test
    public void test1(){
        ExcelReaderBuilder workBook = EasyExcel.read
            ("C:\\Users\\王会称\\Desktop\\员工.xlsx", Employee.class, new EmployeeReadListener());
    
        // 封装工作表
        ExcelReaderSheetBuilder sheet1 = workBook.sheet();
        // 读取
        sheet1.doRead();
    
        //写入数据库
        List<Employee> studentList = EmployeeReadListener.getStudentList();
        for (Employee employee : studentList) {
            employee.setNoid(PbSecretUtils.uuid());
            employeeMapper.insert(employee);
        }
    }
    

    通过页面点击导入文件并存入数据库

    EmployeeController类:

    @PostMapping("/import_employee_excel")
    public String importEmployeeExcel(MultipartFile emp_excel) {
        employeeService.importExcel(emp_excel);
        return "redirect:/employee/list";
    }
    

    EmployeeService类:

    /**
         * 获取用户选择的文件并将文件存入指定位置再将数据存入数据库
         * @param emp_excel
         * @return
         */
    public Integer importExcel(MultipartFile emp_excel) {
        try {
            String fileName = FileUploadUtil.upload(emp_excel, "");
            ExcelReaderBuilder workBook = EasyExcel.read
                (GlobalSet.upload_url+fileName, Employee.class, new EmployeeReadListener());
    
            // 封装工作表
            ExcelReaderSheetBuilder sheet1 = workBook.sheet();
            // 读取
            sheet1.doRead();
    
            List<Employee> studentList = EmployeeReadListener.getStudentList();
            for (Employee employee : studentList) {
                employee.setNoid(PbSecretUtils.uuid());
                if ("男".equals(employee.getStr_emp_sex())) {
                    employee.setEmp_sex(1);
                } else {
                    employee.setEmp_sex(2);
                }
                employeeMapper.insert(employee);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return 0;
    }
    

    EasyExcel导出文件

    Test测试类导出文件到指定文件

    @Test
    public void test2() throws FileNotFoundException {
    
        List<Employee> employeeList = initData();
    
    
        ExcelWriterBuilder workBook = EasyExcel.write(GlobalSet.download_url, Employee.class);
    
        // sheet方法参数: 工作表的顺序号(从0开始)或者工作表的名字
        workBook.sheet("测试数据表").doWrite(employeeList);
        System.out.println("写入完成!");
    }
    
    /**
         * 生成测试数据
         * @return
         */
    public List<Employee> initData() {
        List<Employee> employeeList = new ArrayList<>();
        for (int i = 1; i < 100; i++) {
            Employee employee = new Employee();
            employee.setEmp_name("小王说:"+i);
            employee.setEmp_age(19);
            if (i % 10 == 0) {
                employee.setEmp_sex(1);
            } else {
                employee.setEmp_sex(2);
            }
            employee.setEmp_salary(19999.00+i);
            employee.setEmp_address("北京市朝阳区"+i);
            employee.setEmp_position("Java高级工程师");
            employeeList.add(employee);
        }
        return employeeList;
    }
    

    通过页面导出到指定文件后并下载文件

    EmployeeController类

    @GetMapping("/export_employee_excel")
        public void exportEmployeeExcel(HttpServletResponse response) {
            try {
                employeeService.exportEmployeeExcel(response);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    

    EmployeeService类:

    public void exportEmployeeExcel(HttpServletResponse response) throws IOException {
            List<Employee> kspwStudentSeatList = list();
            try {
                ExcelWriterBuilder workBook = EasyExcel.write(GlobalSet.download_url, Employee.class);
                // sheet方法参数: 工作表的顺序号(从0开始)或者工作表的名字
                workBook.sheet("员工信息").doWrite(kspwStudentSeatList);
                downloadTempalate(response);
                System.out.println("写入完成!");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        /**
         * 下载文件
         * @param response
         * @throws IOException
         */
        public static void downloadTempalate(HttpServletResponse response) throws IOException {
            // 告诉浏览器用什么软件可以打开此文件
            response.setHeader("content-Type", "application/vnd.ms-excel");
            // 下载文件的默认名称
            response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("员工信息.xlsx", "utf-8"));
            //4. 创建输入、输出流
            FileInputStream input = new FileInputStream(GlobalSet.download_url);
            ServletOutputStream sos = response.getOutputStream();
    
            //IO流获取文件的字节流,然后再响应给浏览器
            byte[] arr = new byte[1024];
            int res = 0;
            while((res = input.read(arr)) > 0){
                //将读取的内容输出到输出流中
                sos.write(arr, 0, res);
            }
    
            input.close();
            sos.close();
        }
    

    结语

    至此,数据完美导入导出,该案例通俗易懂,详细一步步带入,通过本案例,可实现文件基本的导入导出,认真学习的你很耀眼,相信你的技术一定会有一个质的飞跃,好啦,本周技术分享到此结束

    都看到这里啦,确定不点赞嘛

    若在本项目中遇到技术难题,可在下方评论区留言或私信我,授人以鱼不如授人以渔

    百度网盘地址:链接: https://pan.baidu.com/s/1vmrL7vl5Hlq-SqjdndOKyQ 提取码: me3n

    如果你觉得博主写的不错的话,不妨给个一键三连,点击下方小拳头即可一键三连。

    感谢你的支持!

    展开全文
  • 导出: #浏览器兼容 如果产品制作压缩包或者模板时,使用的是mac,请注意在Windows机器上检查一下文件,是否有多余。【因为解析原因,容易多一个无用的文件】 #文件打开格式兼容性 ...#导出文件格式检
  • 软件是一个用来分析PE程序文件的输出函数表,及其依赖列表(导入库及函数名称)的免费工具。 软件无须安装,无任何插件或捆绑软件,只需解压即可运行。 (PE是指Windows操作系统中的可执行文件,比如.exe,.dll,....
  • 实验3.1 文件导入导出 一、实验目的 利用Insight的导入导出相关组件,完成文件类型数据预处理。 二、实验要求 熟练掌握文件类型组件的使用,完成文本,Excel,XML,JSON等文件导入导出。 三、实验原理 通过...
  • 我压箱底的 世恒原创的EXCEL快速导入导出 源码拿来修改下,原版的不能支持2007文件格式,现在可以支持2007格式了。 经过测试,速度比系统自带工作簿快了好几倍。先看下图片 导入: 数据库导出: 表格导出: 数据库...
  • 安卓平板电脑如何导入导出文件[整理].pdf
  • 多种数据交换接口文件转换功能,可以导入招标方提供的QDZ文件,完成投标报价的工程量清单计价文件,也可以生成QDZ格式的投标文件
  • 3DMAx:能导入导出文件格式

    千次阅读 2021-05-21 22:17:47
    3ds Max可以导入导出各种文件格式,如本部分中所述。 本节内容 实体对象 3ds Max会在您导入某些文件格式(如 SAT 文件)时创建实体对象。 Adobe Illustrator (AI) 文件 Adobe Illustrator 是一款基于矢量的...
  • Oracle导入导出dmp文件[参考].pdf
  • 在日常的数据库维护工作中,经常需要对数据库进行导入导出操作,备份、分析、迁移数据都需要用到导入导出功能,在本教程中将详细讲解所有常见的 MySQL 和 MariaDB 中导入导出数据的方法(注意:MySQL 和 MariaDB 两...
  • 模块的导入:方法:require(要导入的模块路径),默认导入的是一个对象{},导出文件需要指定。 模块的导出:方法:module.exports= fun定义的方法名,也可以快捷写:exports.方法名=方法名;不能exports = 方法名,...
  • 目的:将服务器的mysql中的数据导入到本地 设备:本地:Mac。...在Mac上使用软件filezilla将第2步导出的mywordpress.sql下载到本地 mysql -u [username] -p [database_name] < [dumpfilename.sql] 其中
  • 说明:将以下命令复制到cmd命令行中运行即可,file代表文件名数据导入imp zzbweb/zzbweb@orcl file=e:\zzbweb.dmp fromuser=zzbweb touser=zzbweb rows=y数据导出exp vote/vote@orcl file=F:\vote.dmp rows=y远程...
  • Intellij IDEA--导入导出配置

    千次阅读 多人点赞 2022-06-24 23:33:18
    本文用示例介绍Idea如何导入导出配置。 本方法适用于Intellij系列的所有软件,例如:Idea、WebStorm、PyCharm等。 为什么要导入导出配置? 使用软件时我们经常要自定义一些配置,如:快捷键、配色、代码格式等...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 97,150
精华内容 38,860
热门标签
关键字:

导入导出文件软件下载