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

java設(shè)置可供下載的excel模板文件

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

controller

@GetMapping("/download/excel")  
@Operation(summary = "下載技術(shù)引入Excel模板")  
public void downloadTemplateExcel(HttpServletResponse response) {  
    technologyService.getTechnologyExcelModel(response);  
}

service

public void getTechnologyExcelModel(HttpServletResponse response) {  
    List<TechnologyImportExcelDto> technologyImportExcelDtoList = getTechnologyImportExcelVOList();  
    File file;  
    try {  
        //使用臨時(shí)文件  
        file = File.createTempFile("開源技術(shù)導(dǎo)入模板", ".xlsx");  
        FileOutputStream fileOutputStream = new FileOutputStream(file);  
        ExportParams params = new ExportParams("表格標(biāo)題", "Sheet1", ExcelType.XSSF);  
        String tipsMessage = "開源技術(shù)導(dǎo)入需遵循以下規(guī)則:xxx";  
        params.setTitle(tipsMessage);  
  
        Workbook workbook = ExcelExportUtil.exportExcel(params, TechnologyImportExcelDto.class, technologyImportExcelDtoList);  
  
        // 獲取Sheet對(duì)象  
        Sheet sheet = workbook.getSheetAt(0); // 只有一個(gè)Sheet  
  
        // 設(shè)置標(biāo)題行樣式  
        Row titleRow = sheet.getRow(0); // 標(biāo)題在第一行  
  
        CellStyle titleStyle = workbook.createCellStyle();  
        titleStyle.setAlignment(HorizontalAlignment.LEFT); // 設(shè)置水平對(duì)齊方式為左對(duì)齊  
        titleStyle.setVerticalAlignment(VerticalAlignment.CENTER); // 設(shè)置垂直對(duì)齊方式為居中  
        titleStyle.setWrapText(true); // 設(shè)置文本自動(dòng)換行  
  
        // 設(shè)置邊框  
        titleStyle.setBorderBottom(BorderStyle.THIN);  
        titleStyle.setBorderTop(BorderStyle.THIN);  
        titleStyle.setBorderLeft(BorderStyle.THIN);  
        titleStyle.setBorderRight(BorderStyle.THIN);  
  
        // 設(shè)置標(biāo)題行每個(gè)單元格的樣式  
        for (Cell cell : titleRow) {  
            cell.setCellStyle(titleStyle);  
        }  
  
        // 設(shè)置行高  
        titleRow.setHeightInPoints(titleRow.getHeightInPoints() * 4); // 設(shè)置為五行字的高度  
  
        // 設(shè)置字體加粗  
        Font font = workbook.createFont();  
        font.setBold(true);  
        titleStyle.setFont(font);  
  
        workbook.write(fileOutputStream);  
        fileOutputStream.close();  
        workbook.close();  
    } catch (IOException e) {  
        throw new RuntimeException(e);  
    }  
    //下載,讀取文件流并將其添加到response的輸出流中,同時(shí)設(shè)置響應(yīng)的Header字段  
    try (InputStream inputStream = new FileInputStream(file);  
         //獲取response的輸出流對(duì)象  
         OutputStream outputStream = response.getOutputStream()) {  
        response.setContentType("application/octet-stream");  
        response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(file.getName(), StandardCharsets.UTF_8));  
        response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");  
        IOUtils.copy(inputStream, outputStream);  
        outputStream.flush();  
    } catch (Exception e) {  
        throw new RuntimeException();  
    } finally {  
        //清除文件  
        file.delete();  
    }  
}
@NotNull  
private static List<TechnologyImportExcelDto> getTechnologyImportExcelVOList() {  
    List<TechnologyImportExcelDto> technologyImportExcelDtoList = new ArrayList<>();  
    TechnologyImportExcelDto technologyImportExcelDto = new TechnologyImportExcelDto(  
            "系統(tǒng)軟件/固件",  
            "模板", 
            "x",  
            "1.0.0",  
            "GPL-2.0",  
            "http://xx.com",  
            "5",  
            "2023-03-15 14:17:02",  
            "http://download.com",  
            "描述內(nèi)容");  
    technologyImportExcelDtoList.add(technologyImportExcelDto);  
    return technologyImportExcelDtoList;  
}

文章來源地址http://www.zghlxwxcb.cn/news/detail-805465.html

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

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(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)文章

  • #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結(jié)合EasyExcel,模板文件填充并導(dǎo)出Excel】

    【Java結(jié)合EasyExcel,模板文件填充并導(dǎo)出Excel】

    需求描述: 客戶網(wǎng)頁上填一個(gè)Excel表格,數(shù)據(jù)存到數(shù)據(jù)庫,這個(gè)導(dǎo)出接口要做的就是從數(shù)據(jù)庫中的獲取數(shù)據(jù)并填充到模板文件,最后通過response返給前端一個(gè)下載鏈接,用戶即可獲取填充好的Excel文件。 方案一: 一開始使用的是easypoi,發(fā)現(xiàn)當(dāng)填充一行數(shù)據(jù)時(shí)是OK的,但是如果

    2024年02月09日
    瀏覽(28)
  • 工具類——Java導(dǎo)出EXCEL2(設(shè)置樣式、加載并填充圖片、加載指定模板、大數(shù)據(jù)量設(shè)置窗口大小與刷新頻率)

    工具類——Java導(dǎo)出EXCEL2(設(shè)置樣式、加載并填充圖片、加載指定模板、大數(shù)據(jù)量設(shè)置窗口大小與刷新頻率)

    書接上篇:工具類——Java 瀏覽器導(dǎo)入、導(dǎo)出Excel(Java import、export)demo POI的導(dǎo)出方式:創(chuàng)建/加載Workbook,設(shè)置樣式,填充數(shù)據(jù),然后生成本地臨時(shí)文件,最終以瀏覽器的形式打開,完成整個(gè)導(dǎo)出動(dòng)作。 demo如下, demo如下, XSSFClientAnchor anchor = new XSSFClientAnchor(int dx1, int dy1,

    2024年02月01日
    瀏覽(18)
  • java中excel文件下載

    1、System.getProperty(user.dir) 獲取的是啟動(dòng)項(xiàng)目的容器位置 2、 Files.copy(sourceFile.toPath(), destinationFile.toPath(), StandardCopyOption.REPLACE_EXISTING); StandardCopyOption.REPLACE_EXISTING 來忽略文件已經(jīng)存在的異常,如果存在就去覆蓋掉它 StandardCopyOption.COPY_ATTRIBUTES copy文件的屬性,最近修改時(shí)間,最近

    2024年02月13日
    瀏覽(25)
  • 為什么通過EasyExcel下載 Excel 文件時(shí),response.setContentType(“application/octet-stream“) 這樣設(shè)置,下載下來的文件不能顯示文件名稱?

    response.setContentType(\\\"application/octet-stream\\\") 是用來告訴瀏覽器服務(wù)器返回的數(shù)據(jù)是二進(jìn)制流,因?yàn)?octet-stream 意味著 \\\"一個(gè)未知的字節(jié)流\\\"。當(dāng)瀏覽器收到這個(gè)響應(yīng)時(shí),它無法確定數(shù)據(jù)類型,所以它的解析方式會(huì)嘗試將這些未知字節(jié)自動(dòng)轉(zhuǎn)換為可讀的格式。 當(dāng)您使用 EasyExcel 將數(shù)據(jù)

    2024年02月13日
    瀏覽(39)
  • poi-tl設(shè)置圖片(通過word模板替換關(guān)鍵字,然后轉(zhuǎn)pdf文件并下載)

    poi-tl設(shè)置圖片(通過word模板替換關(guān)鍵字,然后轉(zhuǎn)pdf文件并下載)

    選中圖片右擊? 選擇設(shè)置圖片格式 ? 例如word模板 ? maven依賴 ? 讀取 ?代碼

    2024年02月11日
    瀏覽(90)
  • 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)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包