【原文链接】: ,博文同步发布到博客园。
由于精力有限,对文章的更新可能不能及时同步,请点击上面的原文链接访问最新内容。 欢迎访问我的个人网站: 。Git仓库地址:【】
项目功能
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: 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,图标正常展示。org.apache.maven.plugins maven-resources-plugin eot svg ttf woff woff2
- 4、下载xml文件
ajax不能下载文件,只要后台返回文件名,前台通过window.location.href = url或者form表单提交进行文件下载。
var $eleForm = $("");$eleForm.attr("action",url);$(document.body).append($eleForm);//提交表单,实现下载$eleForm.submit();