zoukankan      html  css  js  c++  java
  • TestLink在线Excel用例转换xml

    【原文链接】: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();
    
  • 相关阅读:
    Sublime Text 3专题
    00.PHP学习建议
    php面试题及答案收藏(转)
    (转)如何快速掌握一门技术
    最全的MySQL基础【燕十八传世】
    UEditor编辑器并不难
    学习一门语言难在什么地方?
    PHP中关于位运算符 与 或 异或 取反
    WebP是什么图片格式?你了解PNG、JPG、WebP和GIF的区别吗?
    Mysql 外键设置
  • 原文地址:https://www.cnblogs.com/Candies/p/11130712.html
Copyright © 2011-2022 走看看