最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot使用jxls實現(xiàn)同sheet多個列表展示

 更新時間:2024年08月15日 10:37:25   作者:專注寫bug  
這篇文章主要介紹了Springboot使用jxls實現(xiàn)同sheet多個列表展示,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

前言

在之前的文章中Springboot——使用jxls實現(xiàn)excel模板導(dǎo)出excel,具體說明了jxls框架的基本使用。

除了最簡單的單列表展示外,jxls還具有同sheet頁展示多個列表的能力,接下來一起繼續(xù)探究。

制定模板

1、限定模板數(shù)據(jù)的范圍

采取下面的批注,指定需要渲染顯示的報表范圍。

這里的范圍只考慮第一行的范圍!

命令如下所示:

jx:area(lastCell=”H15”)

2、設(shè)定報表展示項

報表一,只顯示單條數(shù)據(jù)。

報表二,進(jìn)行列表展示,并設(shè)置批注,如下所示:

jx:each(items="dataList2" var="item" lastCell="C8")

報表三,與報表二中的批注一樣,只是接收參數(shù)變量名不同。

批注如下所示:

jx:each(items="dataList3" var="item" lastCell="C12")

編寫測試類

1、將xls模板文件放于 resource 下的 doc文件夾中

2、導(dǎo)入依賴文件

<!-- excel 填充 -->
<dependency>
    <groupId>org.jxls</groupId>
    <artifactId>jxls</artifactId>
    <version>2.8.1</version>
</dependency>
<dependency>
    <groupId>net.sf.jxls</groupId>
    <artifactId>jxls-core</artifactId>
    <version>1.0.6</version>
</dependency>
<dependency>
    <groupId>org.jxls</groupId>
    <artifactId>jxls-poi</artifactId>
    <version>2.8.1</version>
</dependency>

3、編寫接口和導(dǎo)出邏輯

@RequestMapping("/ss")
public void download(HttpServletRequest request,HttpServletResponse response) throws Exception {

    Map<String, Object> map = new HashMap();
    map.put("name1","xiangjiao");
    map.put("age1","10");
    map.put("are1","中國");

    // 報表二
    List<Map<String, Object>> dataList = new ArrayList();
    for (int i = 0; i < 10; i++) {
        Map<String, Object> params = new HashMap<>();
        params.put("name2","1_"+i);
        params.put("age2","xj_"+i);
        params.put("are2",22);
        dataList.add(params);
    }
    // ${item.num}
    map.put("dataList2",dataList);

    // 報表三
    List<Map<String, Object>> dataList3 = new ArrayList();
    for (int i = 0; i < 10; i++) {
        Map<String, Object> params = new HashMap<>();
        params.put("name2","1_"+i);
        params.put("age2","xj_"+i);
        params.put("are2",22);
        dataList3.add(params);
    }
    // ${item.num}
    map.put("dataList3",dataList3);

    export(map,"test.xls","666.xls",response);
}

public static void export(Map<String, Object> dataMap, String reportName,String fileName, HttpServletResponse response) throws IOException {
    Resource resource = new ClassPathResource("/doc" +File.separator+ reportName);
    InputStream in = resource.getInputStream();
    // 這里的context是jxls框架上的context內(nèi)容
    Context context = PoiTransformer.createInitialContext();
    context.toMap().putAll(dataMap);
    Workbook workbook = WorkbookFactory.create(in);
    // Changing name of the first sheet
    workbook.setSheetName(0, "sheet1");
    PoiTransformer transformer = PoiTransformer.createTransformer(workbook);
    OutputStream out = response.getOutputStream();
    transformer.setOutputStream(out);

    // 文件名 - 解決中文亂碼問題
    String filename = URLEncoder.encode(fileName, "UTF-8");
    // 設(shè)置響應(yīng)編碼
    response.setCharacterEncoding("UTF-8");
    response.setContentType("application/x-download");
    response.setHeader("Content-Disposition", "attachment;filename=" + filename);

    JxlsHelper.getInstance().processTemplate(context, transformer);
    in.close();

    out.flush();
    out.close();
}

效果預(yù)覽

結(jié)論

jxls能夠完美的實現(xiàn)樣式自定義、單數(shù)據(jù)、多報表集成。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Maven-3.6.1下載與環(huán)境搭建(解決IDEA兼容問題)及其配置教程

    Maven-3.6.1下載與環(huán)境搭建(解決IDEA兼容問題)及其配置教程

    本文介紹了如何解決Maven 3.6.1及以上版本在IDEA中使用時自動導(dǎo)包出現(xiàn)紅色報錯的問題,并詳細(xì)講解了如何下載、配置和使用Maven
    2026-02-02
  • 全面解析java中的hashtable

    全面解析java中的hashtable

    以下是對java中的hashtable進(jìn)行了詳細(xì)的分析介紹。需要的朋友可以過來參考下
    2013-08-08
  • Java基礎(chǔ)之文件和目錄操作

    Java基礎(chǔ)之文件和目錄操作

    這篇文章主要介紹了Java基礎(chǔ)之文件和目錄操作,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • java8 集合之Stack詳解及實例

    java8 集合之Stack詳解及實例

    這篇文章主要介紹了java8 集合之Stack詳解及實例的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • IDEA中設(shè)置背景顏色的步驟

    IDEA中設(shè)置背景顏色的步驟

    在IntelliJ IDEA中,用戶可以通過訪問【Settings】或【Preferences】菜單,進(jìn)入【Editor】>【ColorScheme】選項來選擇和調(diào)整編輯區(qū)域的顏色方案,此外,通過【Appearance & Behavior】>【Appearance】選項
    2024-09-09
  • 淺析scala中map與flatMap的區(qū)別

    淺析scala中map與flatMap的區(qū)別

    這篇文章主要介紹了淺析scala中map與flatMap的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 使用Java語言實現(xiàn)一個冒泡排序

    使用Java語言實現(xiàn)一個冒泡排序

    冒泡排序也是一種簡單直觀的排序算法,基本思想是多次遍歷要排序的數(shù)組,每次比較相鄰的元素,如果順序不對就交換它們的位置,本篇文章將通過IDE使用 Java 語言實現(xiàn)一個冒泡排序,需要的朋友可以參考下
    2024-03-03
  • Spring中基于xml配置管理Bean的步驟

    Spring中基于xml配置管理Bean的步驟

    Spring容器通常理解為BeanFactory或者ApplicationContext,我們知道spring的IOC容器能夠幫我們創(chuàng)建對象,對象交給spring管理之后我們就不用手動去new對象,這篇文章主要介紹了Spring中基于xml配置管理Bean的步驟,需要的朋友可以參考下
    2023-11-11
  • SpringMVC整合SpringSession 實現(xiàn)sessiong

    SpringMVC整合SpringSession 實現(xiàn)sessiong

    這篇文章主要介紹了SpringMVC整合SpringSession 實現(xiàn)session的實例代碼,本文通過實例相結(jié)合的形式給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2018-04-04
  • 10分鐘帶你理解Java中的弱引用

    10分鐘帶你理解Java中的弱引用

    這篇文章將帶大家快速理解Java中弱引用,文章介紹的很詳細(xì),對大家學(xué)習(xí)Java很有幫助哦,有需要的可以參考借鑒。
    2016-08-08

最新評論

宣威市| 南澳县| 彰化县| 邵东县| 青岛市| 乐清市| 木兰县| 乌兰浩特市| 岗巴县| 清远市| 明溪县| 江华| 黄大仙区| 永胜县| 邵东县| 香河县| 东兰县| 于都县| 读书| 大埔县| 葫芦岛市| 古蔺县| 巴林左旗| 盈江县| 普陀区| 册亨县| 榆社县| 越西县| 响水县| 咸宁市| 科技| 分宜县| 三河市| 白城市| 临朐县| 珠海市| 正安县| 合作市| 班玛县| 石河子市| 红桥区|