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

Java下載excel模板文件

這篇具有很好參考價(jià)值的文章主要介紹了Java下載excel模板文件。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、前言

最近做了一個(gè)導(dǎo)入Excel的功能,需求:

  1. 先提供一個(gè)下載Excel模板的功能。
  2. 用戶下載好模板后,可以在模板文件當(dāng)中填寫要上傳的內(nèi)容,填寫完過后再進(jìn)行導(dǎo)入Excel,然后將用戶填寫的數(shù)據(jù)保存到數(shù)據(jù)庫當(dāng)中。

二、下載模板

1.將模板放到resources目錄下,盡量創(chuàng)建一個(gè)專門的文件夾來存放模板,如下:

java下載excel模板,# Java基礎(chǔ),java,servlet,開發(fā)語言java下載excel模板,# Java基礎(chǔ),java,servlet,開發(fā)語言

2.這里我用到了兩個(gè)依賴,一個(gè)是hutool目前最火的工具類,easyexcel基本上導(dǎo)入導(dǎo)出Excel都會(huì)用。

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.18</version>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>3.2.1</version>
</dependency>
@GetMapping("/downInChargeOfTemplate")
public void downInChargeOfTemplate(HttpServletResponse response) {
    downloadService.downInChargeOfTemplate(response);
}
import cn.hutool.core.io.IoUtil;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.stereotype.Service;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;

@Service
public class DownloadService {
    public void downInChargeOfTemplate(HttpServletResponse response) {
        responseSetting(response, "各分任務(wù)負(fù)責(zé)人導(dǎo)入模板", ".xlsx",
                "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

        InputStream inputStream = null;
        OutputStream outputStream = null;
        try {
            // 讀取文件的輸入流
            inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("templates/各分任務(wù)負(fù)責(zé)人導(dǎo)入模板.xlsx");
            XSSFWorkbook wb = new XSSFWorkbook(inputStream);
            outputStream = response.getOutputStream();
            wb.write(outputStream);
            outputStream.flush();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            IoUtil.close(inputStream);
            IoUtil.close(outputStream);
        }
    }

    public void responseSetting(HttpServletResponse response, String fileName, String suffix, String contentType) {
        // 這里URLEncoder.encode可以防止中文亂碼 當(dāng)然和easyexcel沒有關(guān)系
        String newFileName = null;
        try {
            newFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        // 當(dāng)客戶端請(qǐng)求的資源是一個(gè)可下載的資源(這里的“可下載”是指瀏覽器會(huì)彈出下載框或者下載界面)時(shí),對(duì)這個(gè)可下載資源的描述(例如下載框中的文件名稱)就是來源于該頭域。
        response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + newFileName + suffix);
        // 服務(wù)器告訴瀏覽器它發(fā)送的數(shù)據(jù)屬于什么文件類型,也就是響應(yīng)數(shù)據(jù)的MIME類型
        response.setContentType(contentType);
        response.setCharacterEncoding("utf-8");
        // 關(guān)閉緩存(HTTP/1.1)
        response.setHeader("Cache-Control", "no-store");
        // 關(guān)閉緩存(HTTP/1.0)
        response.setHeader("Pragma", "no-cache");
        // 緩存有效時(shí)間
        response.setDateHeader("Expires", 0);
    }
}

3.測(cè)試接口

java下載excel模板,# Java基礎(chǔ),java,servlet,開發(fā)語言

4.補(bǔ)充知識(shí)

在拿到文件的InputStream輸入流之后我們也可以不通過XSSFWorkbook將輸入流寫到輸出流當(dāng)中,可以直接使用流拷貝的方式,這種同樣是可以完成導(dǎo)出模板功能的。

java下載excel模板,# Java基礎(chǔ),java,servlet,開發(fā)語言

三、Excel導(dǎo)入

關(guān)于導(dǎo)入功能,直接參考easyexcel官網(wǎng)即可:https://easyexcel.opensource.alibaba.com/docs/current/quickstart/read文章來源地址http://www.zghlxwxcb.cn/news/detail-613932.html

到了這里,關(guān)于Java下載excel模板文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • JAVA下載Excel文件之后無法打開,提示損壞

    resources ?目錄下放模板 excel 文件,通過接口下載后,可以正常下載,但打不開。 問題:? springboot ?項(xiàng)目簡單的下載 excel ?模板功能,模板放在 resources/template/ 目錄中 代碼挺簡單,一運(yùn)行,也挺順利,很快就把文件下好了。點(diǎn)開看看,提示我可能是內(nèi)存不足,文件無法打開,

    2024年02月12日
    瀏覽(25)
  • Java下載excel文件名中文亂碼解決

    我是一名充滿激情的程序員,??希望和大家一起學(xué)習(xí)進(jìn)步!我熱愛編程,對(duì)技術(shù)充滿好奇心和求知欲! ???無論你是新手還是老手,都能從我的博客中獲得有價(jià)值的內(nèi)容! ??讓我們一起努力,成為更優(yōu)秀的程序員吧!???? 當(dāng)使用Java下載Excel文件時(shí),有時(shí)會(huì)遇到文件名中

    2024年02月07日
    瀏覽(85)
  • 蒼穹外賣集成 Apache POI Java實(shí)現(xiàn)Excel文件的讀寫下載

    蒼穹外賣集成 Apache POI Java實(shí)現(xiàn)Excel文件的讀寫下載

    Apache POI - the Java API for Microsoft Documents Project News 16 September 2022 - POI 5.2.3 available The Apache POI team is pleased to announce the release of 5.2.3. Several dependencies were updated to their latest versions to pick up security fixes and other improvements. A summary of changes is available in the Release Notes. A full list of changes is a

    2024年02月09日
    瀏覽(27)
  • 【JAVA】Eclipse+MYSQL數(shù)據(jù)庫+JSP+基礎(chǔ)Servlet開發(fā)JavaWeb學(xué)生信息管理系統(tǒng)

    【JAVA】Eclipse+MYSQL數(shù)據(jù)庫+JSP+基礎(chǔ)Servlet開發(fā)JavaWeb學(xué)生信息管理系統(tǒng)

    目錄 前言 一、搭建環(huán)境 ?二、功能實(shí)現(xiàn)、 1、? ?登陸界面 注冊(cè)按鈕 2、學(xué)生信息管理系統(tǒng)主界面 3、dao包 ?4、用戶的信息展示,添加,刪除,修改功能(只展示添加代碼) 5、學(xué)生的信息展示,添加,刪除,修改功能(只展示添加代碼) 6、成績的信息展示,添加,刪除,修

    2024年02月05日
    瀏覽(27)
  • 后端:使用easyExcel實(shí)現(xiàn)解析Excel文件讀取數(shù)據(jù)。前端:Excel模板下載、前端上傳文件

    后端:使用easyExcel實(shí)現(xiàn)解析Excel文件讀取數(shù)據(jù)。前端:Excel模板下載、前端上傳文件

    ????????本篇是EasyExcel快速入門知識(shí),講解如何讀取Excel文件,對(duì)Excel中錯(cuò)誤信息如空字符、必填項(xiàng)為空、表格格式校驗(yàn)做到處理?,并給出了實(shí)際項(xiàng)目中示例代碼;為什么要使用easyexcel;原因是相比于poi,easyexcel更加輕量級(jí),讀取寫入API方便,并且在工作中占用內(nèi)存較小;

    2024年02月05日
    瀏覽(37)
  • #vue3 實(shí)現(xiàn)前端下載excel文件模板功能

    #vue3 實(shí)現(xiàn)前端下載excel文件模板功能

    一、需求: 前端無需通過后端接口,即可實(shí)現(xiàn)模板下載功能。 通過構(gòu)造一個(gè) JSON 對(duì)象,使用前端常用的 第三方庫 xlsx ,可以直接將該 JSON 對(duì)象轉(zhuǎn)換成 Excel 文件,讓用戶下載模板 二、效果: 三、源碼如下:

    2024年01月19日
    瀏覽(124)
  • vue-cli4前端實(shí)現(xiàn)下載本地Excel模板,以及下載靜態(tài)文件的坑

    vue-cli4前端實(shí)現(xiàn)下載本地Excel模板,以及下載靜態(tài)文件的坑

    a標(biāo)簽的下載功能: 1:bobl ----二進(jìn)制流文件 Blob對(duì)象標(biāo)識(shí)一個(gè)不可變、原始數(shù)據(jù)的類文件對(duì)象。Blob表示的不一定是JavaScript原生格式的數(shù)據(jù) 2:responseType responseType它表示服務(wù)器響應(yīng)的數(shù)據(jù)類型,由于后臺(tái)返回來的是二進(jìn)制數(shù)據(jù),所以要把它設(shè)為‘blob’ 通過設(shè)置responseType為blo

    2024年02月02日
    瀏覽(119)
  • JAVA使用POI對(duì)Word docx模板文件替換數(shù)據(jù)工具類并通過瀏覽器下載到本地

    JAVA使用POI對(duì)Word docx模板文件替換數(shù)據(jù)工具類并通過瀏覽器下載到本地

    需求:需要上傳一個(gè)帶有占位符的模板至數(shù)據(jù)庫保存,然后解析模板的占位符,通過類計(jì)算結(jié)果替換模板中的占位符,并且保存至本地 難點(diǎn):1.由于我數(shù)據(jù)庫保存是本地保存,并沒有path 所以獲取模板的path是個(gè)難點(diǎn) 2.如何使用計(jì)算類,由于我的類是和占位符綁定的,什么樣的

    2024年02月16日
    瀏覽(25)
  • Java實(shí)現(xiàn)導(dǎo)出多個(gè)excel表打包到zip文件中,供客戶端另存為窗口下載

    Java實(shí)現(xiàn)導(dǎo)出多個(gè)excel表打包到zip文件中,供客戶端另存為窗口下載

    業(yè)務(wù)需求:從數(shù)據(jù)庫查詢多個(gè)list集合信息封裝excel,每個(gè)excel都有2個(gè)sheet頁,填充不同的信息,最后將所有excel打包成zip文件,以流的形式返回給客戶端,供客戶端另存為窗口下載。 只發(fā)出一次請(qǐng)求 每個(gè)excel表中到數(shù)據(jù)記錄不能超過2條 excel文件或者zip包不會(huì)上傳服務(wù)器,而是

    2024年02月06日
    瀏覽(19)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包