【原文链接】:https://blog.tecchen.tech ,博文同步发布到博客园。

由于精力有限,对文章的更新可能不能及时同步,请点击上面的原文链接访问最新内容。

欢迎访问我的个人网站:https://www.tecchen.tech

Git仓库地址:【TestLink-SpringBoot使用EasyExcel和BootStrap FileInput上传Excel

项目功能

TestLink在线Excel用例转换xml

将符合用例模板的Excel测试用例,转换成xml,用于导入TestLink进行用例管理。

使用方法

  • 1、编写测试用例
  • 2、打开本项目http://localhost:8080,浏览选择文件,点击图标上的上传icon
  • 3、选择sheet名称
  • 4、点击点我转换按钮,后台处理好数据后,点击确定按钮,下载生成的xml文件。
  • 5、在tesklink中,导入生成的xml用例。

技术框架

SpringBoot使用EasyExcel和BootStrap FileInput上传Excel

后端
  • springboot
  • springmvc
  • easyexcel
  • jdom2
前端
  • jquery v1.12.4
  • Bootstrap v4.3.1
  • bootstrap-fileinput v5.0.1
  • jquery-confirm v3.3.0

遇到的坑

  • 1、使用fileinput插件,不显示中文

根据官网Demo,注意了css和js的引入顺序,并添加了“language: 'zh'”的配置项,页面还是显示英文。

HTML:
<input id="excel" name="file" class="file" type="file" placeholder="选择一个Excel文件">
JS:
$("#excel").fileinput({
language: 'zh',
maxFileCount: 1,
required: true,
uploadAsync: false,
allowedFileExtensions : ['xls','xlsx'],//允许的文件类型
enctype: 'multipart/form-data',
uploadUrl: server + '/testLink/uploadExcel',
showRemove:false,
showPreview : true, //是否显示预览
validateInitialCount:true,
overwriteInitial: true//是否在上传下一个文件的时候覆盖前一个
});

最终一篇博客中写到:删除class="file" 即可。

  • 2、使用EasyExcel导入2003版本的xls文件,报错

根据报错提示,在MultipartFile.getInputStream()外层包装了BufferedInputStream,解决问题

EasyExcelFactory.getReader(new BufferedInputStream(excelFile.getInputStream())...
  • 3、fileinput插件不显示图标,其实是不显示bootstrap的图标

bootstrap4默认不支持图标,将bootstrap3的图标字体复制到项目中,并添加fonts.css,文件准备即可完成。

由于使用SpringBoot2.x,maven自动将字体文件忽略,如下修改pom.xml,图标正常展示。

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>eot</nonFilteredFileExtension>
<nonFilteredFileExtension>svg</nonFilteredFileExtension>
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
<nonFilteredFileExtension>woff</nonFilteredFileExtension>
<nonFilteredFileExtension>woff2</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
  • 4、下载xml文件

ajax不能下载文件,只要后台返回文件名,前台通过window.location.href = url或者form表单提交进行文件下载。

var $eleForm = $("<form method='get'></form>");

$eleForm.attr("action",url);

$(document.body).append($eleForm);

//提交表单,实现下载
$eleForm.submit();

TestLink在线Excel用例转换xml的更多相关文章

  1. TestLink学习七:TestLink测试用例Excel转换XML工具

    TestLink对于测试用例的管理来说,是蛮强大的,但是在导入导出这块,功能有点弱,本文针对测试用例的导入,转载了一个Excel转换成xml工具. 1.根据到处的测试用例xml,定义一下我的Excel ...

  2. 转:Excel转换XML工具<一>

    http://blog.csdn.net/candle806/article/details/7441695最近在整理测试用例,所以想找一个合适的工具来完成对测试需求.测试用例的管理.对比了一翻,发现 ...

  3. 转:TestLink1.9.3测试用例:Excel转换XML工具<二>实现代码

    TestLink1.9.3测试用例:Excel转换XML工具<二>实现代码 http://blog.csdn.net/candle806/article/details/7490599 以 ...

  4. 【Python】实现将testlink上的用例指定格式保存至Excel,用于修改上传

    背景 前一篇博客记录的可以上传用例到testlink指定用例集的脚本,内部分享给了之后,同事希望能将testlink上原有的用例下载下来,用于下次修改上传,所有有了本文脚本. 具体实现 获取用例信息 ...

  5. testlink用例转换工具2018.12版

    首先说明一点,网上有很多资料,但真正可用的很少:在本人经过百度后,发现其实很多案例会因为各种原因而无法最终实现. Testlink用例转换工具,可以大致分为3种工具: 1)EX-Converter由第 ...

  6. 【Python】Python实现Excel用例直接导入testlink-UI界面小工具

    1.写在前面 testlink上传用例一种方法是excel转换为xml,然后再用xml上传,还有一种是调用api进行上传.最开始写了个转换工具,是将excel转换为xml,然后在testlink里上传 ...

  7. VSTO学习笔记(七)基于WPF的Excel分析、转换小程序

    原文:VSTO学习笔记(七)基于WPF的Excel分析.转换小程序 近期因为工作的需要,要批量处理Excel文件,于是写了一个小程序,来提升工作效率. 小程序的功能是对Excel进行一些分析.验证,然 ...

  8. Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验

    Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出E ...

  9. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

随机推荐

  1. Linux运维学习第四周记

    古木阴中系短篷 杖藜扶我过桥东 沾衣欲湿杏花雨 吹面不寒杨柳风 *不要辜负绵绵春意 第四周学记 第四周主要学习了文件查找和打包压缩的相关工具,以及软件包管理工具 文件查找相关命令 1.locate 在 ...

  2. Linux文件的查找之find命令处理动作

    查找到文件之后的处理动作 例如:找出来系统中比较大超过10G的并且存放时间超过一年的log文件并删除 find / -name ".log" -size +10G -mtime + ...

  3. HashMap循环中Remove带来的问题

    HashMap在循环中执行remove操作会报错,引发了并发修改异常. 解决办法很多: 1.复制一个Map,在Map副本中循环,Map本体执行remove方法. 2.使用迭代器移除当前迭代元素,ite ...

  4. sql布尔盲注和时间盲注的二分脚本

    布尔盲注: import requests url = "http://challenge-f0b629835417963e.sandbox.ctfhub.com:10080/" ...

  5. ORA-01078: failure in processing system parameters 问题的解决方法(oracle 11g)

    https://blog.csdn.net/lzwgood/article/details/26358725

  6. Ubuntu下创建apt源

    1. 下载所需安装文件 sudo apt-get install soft name  安装并保存安装文件 或者 sudo apt-get source soft name      只下载安装文件 ...

  7. 微信小程序日历签到

    近日做了一个项目需要用到日历插件,在网上找了一部分感觉跟项目不对口,所以就查考了其他的日历插件做了一个. 需求: 如图: 代码如下: index.wxml: <!--pages/pictrues ...

  8. Luogu P5072 [Ynoi2015]盼君勿忘

    题意 给定一个长度为 \(n\) 的序列 \(a\) 和 \(m\) 次询问,第 \(i\) 次询问需要求出 \([l_i,r_i]\) 内所有子序列去重之后的和,对 \(p_i\) 取模. \(\t ...

  9. CSS中的position属性笔记

    一般有5个属性,分别是:static,absolute,relative,fixed,inherit static 自然定位:这个是默认值,没有定位,再设置top,rignt,bottom,left会 ...

  10. idea 远程debug springboot

    idea 远程debug springboot 1.新建一个springboot工程. 新建一个controller接口 @RestController @RequestMapping public ...