springboot結(jié)合easyexcel實(shí)現(xiàn)動(dòng)態(tài)表頭的實(shí)踐
更新時(shí)間:2025年06月05日 08:59:33 作者:若水印象
這篇文章主要介紹了springboot結(jié)合easyexcel實(shí)現(xiàn)動(dòng)態(tài)表頭的實(shí)踐,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
springboot結(jié)合easyexcel實(shí)現(xiàn)動(dòng)態(tài)表頭

實(shí)例如下
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)建時(shí)間: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;
}
/**
* 動(dòng)態(tài)頭,實(shí)時(shí)生成頭寫入
* <p>
* 思路是這樣子的,先創(chuàng)建List<String>頭格式的sheet僅僅寫入頭,然后通過table 不寫入頭的方式 去寫入數(shù)據(jù)
*
* <p>
* 1. 創(chuàng)建excel對(duì)應(yīng)的實(shí)體對(duì)象
* <p>
* 2. 然后寫入table即可
*/
private void dynamicHeadWrite() {
// 獲取保存路徑
String path = surveyLocalPath;
// 設(shè)置文件名
String fileName = path + "test_excel.xls";
EasyExcel.write(fileName)
// 這里放入動(dòng)態(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é)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Springboot+Easyexcel將數(shù)據(jù)寫入模板文件并導(dǎo)出Excel的操作代碼
- SpringBoot后臺(tái)使用EasyExcel實(shí)現(xiàn)數(shù)據(jù)報(bào)表導(dǎo)出(含模板、樣式、美化)
- SpringBoot3整合EasyExcel動(dòng)態(tài)實(shí)現(xiàn)表頭重命名
- Springboot整合easyexcel實(shí)現(xiàn)一個(gè)接口任意表的Excel導(dǎo)入導(dǎo)出
- SpringBoot種如何使用?EasyExcel?實(shí)現(xiàn)自定義表頭導(dǎo)出并實(shí)現(xiàn)數(shù)據(jù)格式化轉(zhuǎn)換
- SpringBoot整合EasyExcel實(shí)現(xiàn)大規(guī)模數(shù)據(jù)的并行導(dǎo)出與壓縮下載
相關(guān)文章
IDEA中Java出現(xiàn)無效的源發(fā)行版錯(cuò)誤的解決辦法
這篇文章主要給大家介紹了關(guān)于IDEA中Java出現(xiàn)無效的源發(fā)行版錯(cuò)誤的解決辦法,IDEA中Java出現(xiàn)?效的源發(fā)?版解決辦法出現(xiàn)該問題的原因是項(xiàng)?Project當(dāng)中的jdk與電腦當(dāng)中的jdk版本不?致造成的,需要的朋友可以參考下2023-10-10
Java如何發(fā)起http請(qǐng)求的實(shí)現(xiàn)(GET/POST)
這篇文章主要介紹了Java如何發(fā)起http請(qǐng)求的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
Spring Boot集成Mybatis的實(shí)例代碼(簡(jiǎn)潔版)
這篇文章主要介紹了Spring Boot集成Mybatis簡(jiǎn)潔版的教程,需要的朋友可以參考下2018-02-02
關(guān)于Java錯(cuò)誤提示之找不到或無法加載主類的問題及正確處理方法
當(dāng)我們?cè)诔鯇W(xué)Java的是時(shí)候,類文件中是不設(shè)定包名(package)的,這種情況下注意classpath,基本上沒有問題,?本文主要說明classpath和系統(tǒng)環(huán)境變量PATH都沒問題的情況下出錯(cuò)原因和正確處理方法,感興趣的朋友一起看看吧2022-01-01
ArrayList源碼探秘之Java動(dòng)態(tài)數(shù)組的實(shí)現(xiàn)
這篇文章將帶大家從ArrayList源碼來探秘一下Java動(dòng)態(tài)數(shù)組的實(shí)現(xiàn),文中的示例代碼講解詳細(xì),對(duì)我們深入了解JavaScript有一定的幫助,需要的可以參考一下2023-08-08
老生常談Java虛擬機(jī)垃圾回收機(jī)制(必看篇)
下面小編就為大家?guī)硪黄仙U凧ava虛擬機(jī)垃圾回收機(jī)制(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08
Java終止循環(huán)體的具體實(shí)現(xiàn)
這篇文章主要介紹了Java終止循環(huán)體的具體實(shí)現(xiàn),需要的朋友可以參考下2014-02-02

