springboot結(jié)合easyexcel實現(xiàn)動態(tài)表頭的實踐
更新時間:2025年06月05日 08:59:33 作者:若水印象
這篇文章主要介紹了springboot結(jié)合easyexcel實現(xiàn)動態(tài)表頭的實踐,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
springboot結(jié)合easyexcel實現(xiàn)動態(tài)表頭
實例如下
package com.yili.survey.excel; import com.alibaba.excel.EasyExcel; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; import java.util.ArrayList; import java.util.List; /** * 類名稱:ExcelTest * 描述: * 創(chuàng)建人:趙英杰 * 創(chuàng)建時間:2023-09-05 11:17 */ @SpringBootTest(classes = ExcelTest.class) public class ExcelTest { @Value("${static.temp}") private String surveyLocalPath; @Test void test() { dynamicHeadWrite(); } /** * 數(shù)據(jù) * * @return {@link List }<{@link List }<{@link String }>> * @author ZhaoYingJie * @date 2023-09-05 14:24:22 */ private List<List<String>> data() { List<List<String>> data = new ArrayList<>(); List<String> row1 = new ArrayList<>(); row1.add("喜歡吃蘋果的數(shù)量"); row1.add("10"); row1.add("5"); data.add(row1); List<String> row2 = new ArrayList<>(); row2.add("喜歡吃西瓜的數(shù)量"); row2.add("8"); row2.add("3"); data.add(row2); return data; } /** * 動態(tài)頭,實時生成頭寫入 * <p> * 思路是這樣子的,先創(chuàng)建List<String>頭格式的sheet僅僅寫入頭,然后通過table 不寫入頭的方式 去寫入數(shù)據(jù) * * <p> * 1. 創(chuàng)建excel對應(yīng)的實體對象 * <p> * 2. 然后寫入table即可 */ private void dynamicHeadWrite() { // 獲取保存路徑 String path = surveyLocalPath; // 設(shè)置文件名 String fileName = path + "test_excel.xls"; EasyExcel.write(fileName) // 這里放入動態(tài)頭 .head(head()).sheet("模板") // 當(dāng)然這里數(shù)據(jù)也可以用 List<List<String>> 去傳入 .doWrite(data()); } /** * 頭 * * @return {@link List }<{@link List }<{@link String }>> * @author ZhaoYingJie * @date 2023-09-05 14:24:04 */ private List<List<String>> head() { List<List<String>> list = new ArrayList<>(); List<String> head0 = new ArrayList<>(); head0.add("Q1喜歡吃什么"); head0.add("Q1"); List<String> head1 = new ArrayList<>(); head1.add("Q1喜歡吃什么"); head1.add("Q1"); List<String> head2 = new ArrayList<String>(); head2.add("Q2喜歡吃什么_蘋果"); head2.add("Q2_1"); List<String> head3 = new ArrayList<String>(); head3.add("Q2喜歡吃什么_蘋果"); head3.add("Q2_1"); List<String> head4 = new ArrayList<String>(); head4.add("Q2喜歡吃什么_西瓜"); head4.add("Q2_2"); List<String> head5 = new ArrayList<String>(); head5.add("Q2喜歡吃什么_西瓜"); head5.add("Q2_2"); list.add(head0); list.add(head1); list.add(head2); list.add(head3); list.add(head4); list.add(head5); return list; } }
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Springboot+Easyexcel將數(shù)據(jù)寫入模板文件并導(dǎo)出Excel的操作代碼
- SpringBoot后臺使用EasyExcel實現(xiàn)數(shù)據(jù)報表導(dǎo)出(含模板、樣式、美化)
- SpringBoot3整合EasyExcel動態(tài)實現(xiàn)表頭重命名
- Springboot整合easyexcel實現(xiàn)一個接口任意表的Excel導(dǎo)入導(dǎo)出
- SpringBoot種如何使用?EasyExcel?實現(xiàn)自定義表頭導(dǎo)出并實現(xiàn)數(shù)據(jù)格式化轉(zhuǎn)換
- SpringBoot整合EasyExcel實現(xiàn)大規(guī)模數(shù)據(jù)的并行導(dǎo)出與壓縮下載
相關(guān)文章
IDEA中Java出現(xiàn)無效的源發(fā)行版錯誤的解決辦法
這篇文章主要給大家介紹了關(guān)于IDEA中Java出現(xiàn)無效的源發(fā)行版錯誤的解決辦法,IDEA中Java出現(xiàn)?效的源發(fā)?版解決辦法出現(xiàn)該問題的原因是項?Project當(dāng)中的jdk與電腦當(dāng)中的jdk版本不?致造成的,需要的朋友可以參考下2023-10-10Java如何發(fā)起http請求的實現(xiàn)(GET/POST)
這篇文章主要介紹了Java如何發(fā)起http請求的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03Spring Boot集成Mybatis的實例代碼(簡潔版)
這篇文章主要介紹了Spring Boot集成Mybatis簡潔版的教程,需要的朋友可以參考下2018-02-02關(guān)于Java錯誤提示之找不到或無法加載主類的問題及正確處理方法
當(dāng)我們在初學(xué)Java的是時候,類文件中是不設(shè)定包名(package)的,這種情況下注意classpath,基本上沒有問題,?本文主要說明classpath和系統(tǒng)環(huán)境變量PATH都沒問題的情況下出錯原因和正確處理方法,感興趣的朋友一起看看吧2022-01-01ArrayList源碼探秘之Java動態(tài)數(shù)組的實現(xiàn)
這篇文章將帶大家從ArrayList源碼來探秘一下Java動態(tài)數(shù)組的實現(xiàn),文中的示例代碼講解詳細(xì),對我們深入了解JavaScript有一定的幫助,需要的可以參考一下2023-08-08老生常談Java虛擬機(jī)垃圾回收機(jī)制(必看篇)
下面小編就為大家?guī)硪黄仙U凧ava虛擬機(jī)垃圾回收機(jī)制(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08