日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

ruoyi中生成的代碼表單,如果添加上傳功能-模板下載功能

作者:yu0395 更新時間: 2022-01-06 編程語言

研究了一天了,用網上別人的代碼總是出錯,這個時候就要看看ruoyi作者的代碼,找到并利用起來.參考此文章
https://blog.csdn.net/weixin_46945684/article/details/116495692?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-5.highlightwordscore&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-5.highlightwordscore
下面介紹模板下載功能的實現,但是前端已經包含了上傳功能部分的代碼,下一篇文章補充上傳功能的實現

一.前端

1.vue中顯示層

1.1

D:\RuoYi-Vue-master\ruoyi-ui\src\views\system\student\index.vue
中先添加導入 導出按鈕,注意位置.一般放在導出的前面



<el-button
type=“info”
plain
icon=“el-icon-upload2”
size=“mini”
@click=“handleImport”
v-hasPermi="[‘system:student:import’]"
>導入

1.2

放在最后一個div后面

點擊上傳按鈕后彈出的內容

<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px">
  <el-upload
    ref="upload"
    :limit="1"
    accept=".xlsx, .xls"
    :headers="upload.headers"
    :action="upload.url + '?updateSupport=' + upload.updateSupport"
    :disabled="upload.isUploading"
    :on-progress="handleFileUploadProgress"
    :on-success="handleFileSuccess"
    :auto-upload="false"
    drag
  >
    <i class="el-icon-upload"></i>
    <div class="el-upload__text">
      將文件拖到此處,或
      <em>點擊上傳</em>
    </div>
    <div class="el-upload__tip" slot="tip">
      <el-checkbox
        v-model="upload.updateSupport"
      />是否更新已經存在的用戶數據
      <el-link type="info" style="font-size: 12px" @click="importTemplate"
        >下載模板</el-link
      >
    </div>
    <div class="el-upload__tip" style="color: red" slot="tip">
      提示:僅允許導入“xls”或“xlsx”格式文件!
    </div>
  </el-upload>
  <div slot="footer" class="dialog-footer">
    <el-button type="primary" @click="submitFileForm">確 定</el-button>
    <el-button @click="upload.open = false">取 消</el-button>
  </div>
</el-dialog>

2.前端中的方法層

2.1

下面代碼放這里
/** 點擊導入按鈕效果 */
handleImport() {
this.upload.title = “用戶導入”;
this.upload.open = true;
},

2.2

元素為upload的其它參數
放到這個位置
// 用戶導入彈出對話框參數
upload: {
// 是否顯示彈出層(用戶導入)
open: false,
// 彈出層標題(用戶導入)
title: “”,
// 是否禁用上傳
isUploading: false,
// 是否更新已經存在的用戶數據
updateSupport: 0,
// 設置上傳的請求頭部
headers: { Authorization: "Bearer " + getToken() },
// 上傳的地址
url: process.env.VUE_APP_BASE_API + “/system/user/importData”,
},

2.3

放的位置
這個路徑里有通用download方法
與1.2關聯
/** 下載模板操作,post方法*/
importTemplate() {
alert(“d”),
this.download(’/system/student/importTemplate’, {
}, user_template_${new Date().getTime()}.xlsx)
},

三.后端

直接在D:\RuoYi-Vue-master\ruoyi-admin\src\main\java\com\ruoyi\web\controller\system\SysUserController.java中加入importTemplate接口
這個接口就是2.3的路徑,其中@RequestMapping后面的路徑是主路徑,下面的注釋如 @PostMapping("/importTemplate")跟的路徑是追加上去的.

@PostMapping("/importTemplate")
@ResponseBody
public void importTemplate(HttpServletResponse response)
{
    ExcelUtil<SysStudent> util = new ExcelUtil<SysStudent>(SysStudent.class);
    util.importTemplateExcel(response,"學生數據");

}

至此結束,模板可以正常下載,下一步研究上傳!

原文鏈接:https://blog.csdn.net/yu0395/article/details/122088024

欄目分類
最近更新