關於jeecg-boot導出功能(前端+後臺)

export default {
  name: 'testModal',
 // mixins: [testService],
data() {
  return {
    title: '操作',
    visible: false,
    testParam :{},
    model: {},
    labelCol: {
      xs: { span: 24 },
      sm: { span: 5 }
    },
    wrapperCol: {
      xs: { span: 24 },
      sm: { span: 16 }
    },
    confirmLoading: false,
    form: this.$form.createForm(this),
    validatorRules: {}
  }
},
methods: {

downFile('insert/insertTest',this.testParam).then((data) => {
  //彈出框隱藏
  this.visible = false
  const fileName = '測試導出生成表格';
  if (!data) {
    this.$notification.error({
      message: '提示',
      description: '導出表格失敗.'
    })

    return;

  }
  if (typeof window.navigator.msSaveBlob !== 'undefined') {
    window.navigator.msSaveBlob(new Blob([data]), fileName + '.xls');
  }
  else {

    let url = window.URL.createObjectURL(new Blob([data]));
    let link = document.createElement('a');
    link.style.display = 'none';
    link.href = url;
    link.setAttribute('download', fileName + '.xls');
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link); // 下載完成移除元素
    window.URL.revokeObjectURL(url); // 釋放掉blob對象
    this.$notification.info({
      message: '提示',
      description: '導出表格成功.'
    })

  }
  that.$emit('ok')
});
 
 }
}
@RequestMapping(value = "/insertTest")
public void insertTest(String xxx,String fileName, HttpServletResponse response) {

    try {
        
         ................................

        JSONArray testList = (JSONArray) jsonObject.get("data");
        List<ExcelExportEntity> entity = new ArrayList<ExcelExportEntity>();
        List<Map<String, Object>> list = new ArrayList<>();

        for (int i = 0; i <testList .size() ; i++) {
            Map map = new HashMap();
            String testa = (String) tsList.getJSONObject(i).get("testa");
            map.put("testa",testa);
            list.add(map);
        }
        entity.add(new ExcelExportEntity("測試導出", "testa", 200));

        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(
                  fileName, fileName), entity, list);

        ServletOutputStream out = response.getOutputStream();
        workbook.write(out);
        out.flush();
        out.close();

    } catch (Exception e) {
        log.error("測試導出異常"+e.getMessage());
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章