国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot和Vue實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出

這篇具有很好參考價(jià)值的文章主要介紹了SpringBoot和Vue實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

hutool工具

hutool工具

1. pom依賴

 <!-- hutool依賴-->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.7.20</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.1.2</version>
        </dependency>

瀏覽器格式

 response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
 String fileName = URLEncoder.encode("用戶信息", "UTF-8");
 response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx");

2. 導(dǎo)出接口

/**
     * 導(dǎo)出接口
     */
    @GetMapping("/export")
    public void export(HttpServletResponse response) throws Exception {
        // 從數(shù)據(jù)庫查詢出所有的數(shù)據(jù)
        List<User> list = userService.list();
        // 通過工具類創(chuàng)建writer 寫出到磁盤路徑
//        ExcelWriter writer = ExcelUtil.getWriter(filesUploadPath + "/用戶信息.xlsx");
        // 在內(nèi)存操作,寫出到瀏覽器
        ExcelWriter writer = ExcelUtil.getWriter(true);
        //自定義標(biāo)題別名
        writer.addHeaderAlias("username", "用戶名");
        writer.addHeaderAlias("password", "密碼");
        writer.addHeaderAlias("nickname", "昵稱");
        writer.addHeaderAlias("email", "郵箱");
        writer.addHeaderAlias("phone", "電話");
        writer.addHeaderAlias("address", "地址");
        writer.addHeaderAlias("createTime", "創(chuàng)建時(shí)間");
        writer.addHeaderAlias("avatarUrl", "頭像");

        // 一次性寫出list內(nèi)的對象到excel,使用默認(rèn)樣式,強(qiáng)制輸出標(biāo)題
        writer.write(list, true);

        // 設(shè)置瀏覽器響應(yīng)的格式
        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
        String fileName = URLEncoder.encode("用戶信息", "UTF-8");
        response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx");

        ServletOutputStream out = response.getOutputStream();
        writer.flush(out, true);
        out.close();
        writer.close();
    }

打開瀏覽器能下載Excel即成功。
SpringBoot和Vue實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出,spring boot,vue.js,excel

3. 導(dǎo)入接口

/**
     * excel 導(dǎo)入
     * @param file
     * @throws Exception
     */
    @PostMapping("/import")
    public Boolean imp(MultipartFile file) throws Exception {
        InputStream inputStream = file.getInputStream();
        ExcelReader reader = ExcelUtil.getReader(inputStream);
        // 方式1:(推薦) 通過 javabean的方式讀取Excel內(nèi)的對象,但是要求表頭必須是英文,跟javabean的屬性要對應(yīng)起來
//        List<User> list = reader.readAll(User.class);

        // 方式2:忽略表頭的中文,直接讀取表的內(nèi)容
        List<List<Object>> list = reader.read(1);
        List<User> users = CollUtil.newArrayList();
        for (List<Object> row : list) {
            User user = new User();
            user.setUsername(row.get(0).toString());
            user.setPassword(row.get(1).toString());
            user.setNickname(row.get(2).toString());
            user.setEmail(row.get(3).toString());
            user.setPhone(row.get(4).toString());
            user.setAddress(row.get(5).toString());
            user.setAvatarUrl(row.get(6).toString());
            users.add(user);
        }

        userService.saveBatch(users);
        return true;
    }

3.1 測試:

通過postman測試,send之后返回true測試成功。
在Navicat刷新,可以看到新寫入的數(shù)據(jù)。
SpringBoot和Vue實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出,spring boot,vue.js,excel
SpringBoot和Vue實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出,spring boot,vue.js,excel文章來源地址http://www.zghlxwxcb.cn/news/detail-840877.html

4. Vue導(dǎo)入

<el-upload action="http://localhost:9090/user/import" :show-file-list="false" accept="xlsx" :on-success="handleExcelImportSuccess" style="display: inline-block">
  <el-button type="primary" class="ml-5">導(dǎo)入 <i class="el-icon-bottom"></i></el-button>
</el-upload>

handleExcelImportSuccess() {
    this.$message.success("導(dǎo)入成功")
    this.load()
}

5. Vue導(dǎo)出

<el-button type="primary" @click="exp" class="ml-5">導(dǎo)出 <i class="el-icon-top"></i></el-button>

exp() {
	window.open("http://localhost:9090/user/export")
}

到了這里,關(guān)于SpringBoot和Vue實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Vue中如何實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出

    在前面員工的添加是一個(gè)一個(gè)進(jìn)行的,如果一次性添加多個(gè)員工信息,這時(shí)候就會很繁瑣 因此需要我們開發(fā)一個(gè)批量導(dǎo)入的功能,將用戶的信息存儲到 excel 中然后進(jìn)行批量導(dǎo)入 1. 分析 vue-element-admin 中的導(dǎo)入方案 在vue-element-admin中,大佬已經(jīng)封裝好了Excel的導(dǎo)入導(dǎo)出方案,我

    2023年04月14日
    瀏覽(25)
  • 【vue導(dǎo)入導(dǎo)出Excel】vue簡單實(shí)現(xiàn)導(dǎo)出和導(dǎo)入復(fù)雜表頭excel表格功能【純前端版本和配合后端版本】

    【vue導(dǎo)入導(dǎo)出Excel】vue簡單實(shí)現(xiàn)導(dǎo)出和導(dǎo)入復(fù)雜表頭excel表格功能【純前端版本和配合后端版本】

    前言 這是一個(gè)常用的功能,就是導(dǎo)入和導(dǎo)出excel表格 但是時(shí)常會遇到一些復(fù)雜表頭的表格導(dǎo)出和導(dǎo)入 比如我這個(gè)案例里面的三層表頭的表格。 網(wǎng)上看了下發(fā)現(xiàn)了一個(gè)非常簡單導(dǎo)出和導(dǎo)入方法 當(dāng)然這個(gè)是純前端的版本,會出現(xiàn)分頁不好下載的情況。所以實(shí)際工作中,導(dǎo)出還是

    2024年02月11日
    瀏覽(27)
  • Vue前端實(shí)現(xiàn)excel的導(dǎo)入、導(dǎo)出、打印功能

    導(dǎo)入導(dǎo)出依賴: npm install xlsx@0.16.9 npm install xlsx-style@0.8.13 --save 安裝xlsx-style,運(yùn)行報(bào)錯(cuò) This relative module was not found: ./cptable in ./node_modules/xlsx-style@0.8.13@xlsx-style/dist/cpexcel.js 解決報(bào)錯(cuò) 在node_modulesxlsx-styledistcpexcel.js 807行 的 var cpt = require(\\\'./cpt\\\' + \\\'able\\\'); 改為: var cpt = cptable; 打印

    2023年04月08日
    瀏覽(24)
  • Vue3 exceljs庫實(shí)現(xiàn)前端導(dǎo)入導(dǎo)出Excel

    Vue3 exceljs庫實(shí)現(xiàn)前端導(dǎo)入導(dǎo)出Excel

    最近在開發(fā)項(xiàng)目時(shí)需要批量導(dǎo)入和導(dǎo)出Excel數(shù)據(jù),在實(shí)現(xiàn)這個(gè)需求時(shí),我們既可以在前端完成數(shù)據(jù)解析和文件生成工作,也可以通過前端發(fā)起導(dǎo)入以及導(dǎo)出請求后,后端實(shí)現(xiàn)解析文件流解析文件內(nèi)容以及生成文件并提供下載鏈接的功能。 相較于后端處理Excel數(shù)據(jù)而言,使用前

    2024年03月14日
    瀏覽(18)
  • vue+xlsx實(shí)現(xiàn)前端模版下載、導(dǎo)入和導(dǎo)出excel文件

    vue+xlsx實(shí)現(xiàn)前端模版下載、導(dǎo)入和導(dǎo)出excel文件

    產(chǎn)品需求:后端不想寫下載,導(dǎo)入和導(dǎo)出的接口,讓我們前端自己實(shí)現(xiàn)。 這里我們就可以用xlsx插件來實(shí)現(xiàn),我們不多說了,先放一下實(shí)現(xiàn)的圖片,下面我們分別把模版下載、導(dǎo)入和導(dǎo)出的代碼放上來,想用的話,直接復(fù)制粘貼即可! 模版下載圖片 導(dǎo)出圖片: 好了,下面我

    2024年02月13日
    瀏覽(95)
  • spring boot導(dǎo)入導(dǎo)出excel,集成EasyExcel

    spring boot導(dǎo)入導(dǎo)出excel,集成EasyExcel

    一、安裝依賴 二、新建導(dǎo)出工具類 三、新建實(shí)體類 @ExcelProperty: 核心注解,value屬性可用來設(shè)置表頭名稱,converter屬性可以用來設(shè)置類型轉(zhuǎn)換器; @ColumnWidth: 用于設(shè)置表格列的寬度; @DateTimeFormat: 用于設(shè)置日期轉(zhuǎn)換格式; @NumberFormat: 用于設(shè)置數(shù)字轉(zhuǎn)換格式。 四、如果需

    2024年02月06日
    瀏覽(32)
  • Vue3 導(dǎo)入導(dǎo)出Excel

    Vue3 導(dǎo)入導(dǎo)出Excel

    提供一個(gè) Excel 文件,將里面的內(nèi)容導(dǎo)出成 JSON 數(shù)組 提供一個(gè) JSON 數(shù)組,生成 Excel 文件并下載 表格 1. 安裝步驟 2.使用 3.導(dǎo)出 導(dǎo)出之后發(fā)現(xiàn)數(shù)據(jù)結(jié)構(gòu)不是我們想要的那種,此時(shí)就能通過以下方法轉(zhuǎn)換。 更改列寬 4.導(dǎo)入 如果excel中含有日期,需要解析時(shí)間格式的內(nèi)容。 XLSL.re

    2024年02月14日
    瀏覽(26)
  • vue+element UI Excel導(dǎo)入導(dǎo)出

    vue+element UI Excel導(dǎo)入導(dǎo)出

    ?1.終端執(zhí)行命令 2.script中導(dǎo)入 3.單表頭效果圖 4.html代碼: ?

    2024年02月04日
    瀏覽(24)
  • SpringBoot實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出

    SpringBoot實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出

    話不多說,直接上代碼 依賴文檔 找到pom文件,如下圖所示 引入需要的依賴 導(dǎo)出寫法: 導(dǎo)入寫法: 已上就是導(dǎo)入導(dǎo)出

    2024年02月09日
    瀏覽(22)
  • 基于SpringBoot + EasyExcel + Vue + Blob實(shí)現(xiàn)導(dǎo)出Excel文件的前后端完整過程

    基于SpringBoot + EasyExcel + Vue + Blob實(shí)現(xiàn)導(dǎo)出Excel文件的前后端完整過程

    首先前端發(fā)起HTTP請求之后,后端返回一個(gè)Excel輸出流,然后前端用Blob類型接收數(shù)據(jù),并且解析響應(yīng)頭數(shù)據(jù)以及提取源文件名,最后用a標(biāo)簽完成下載。 一、后端代碼 (1)導(dǎo)入阿里巴巴的EasyExcel依賴(pom.xml) (2)控制層(GameController.java) (3)接口層(IGameService.java) (4)

    2024年02月16日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包