TestLink在線Excel用例轉換xml

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();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章