java導出復雜的excel表格的方法(hutool)


java導出復雜的excel表格的方法(hutool)

轉自:https://www.tqwba.com/x_d/jishu/207875.html

maven

<dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>4.5.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>4.0.1</version>
        </dependency>
        <dependency>
            <groupId>commons-net</groupId>
            <artifactId>commons-net</artifactId>
            <version>3.6</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.0.1</version>
        </dependency>

  

TEST:

 public static void main(String[] args) {
        getJdbcTemplate();
        List<Map<String, Object>> maps = jdbcTemplate.queryForList("select channel,paid_product,number_of_copies,total_paid_content,total_content,paid_percentage,total_number_of_pieces,total_episodes from summary_report");
        ExcelWriter writer = ExcelUtil.getWriter("D:\\windows\\Desktop\\1.xlsx");
        writer.setColumnWidth(-1, 20);
        Map<String, String> objectMap = new LinkedHashMap<>();
        objectMap.put("channel", "頻道");
        objectMap.put("paid_product", "付費產品");
        objectMap.put("number_of_copies", "部數");
        objectMap.put("total_paid_content", "付費內容總量(部)");
        objectMap.put("total_content", "內容總量(部)");
        objectMap.put("paid_percentage", "付費占比(%)");
        objectMap.put("total_number_of_pieces", "片單總數");
        objectMap.put("total_episodes", "總集數");
        writer.setHeaderAlias(objectMap);
        layout(writer);
        writer.write(maps, true);
        // 關閉writer,釋放內存
        writer.close();

    }

    public static void layout(ExcelWriter writer) {
        //數字從0開始算       前面兩個數字是第幾行到第幾行合並    后面兩個數字是第幾列到第幾列合並
        writer.merge(1, 4, 0, 0, null, true);
        writer.merge(5, 7, 0, 0, null, true);
        writer.merge(13, 18, 0, 0, null, true);
        writer.merge(1, 4, 3, 3, null, true);
        writer.merge(5, 7, 3, 3, null, true);
        writer.merge(13, 18, 3, 3, null, true);
        writer.merge(1, 4, 4, 4, null, true);
        writer.merge(5, 7, 4, 4, null, true);
        writer.merge(13, 18, 4, 4, null, true);
        writer.merge(1, 4, 5, 5, null, true);
        writer.merge(5, 7, 5, 5, null, true);
        writer.merge(13, 18, 5, 5, null, true);
        writer.merge(1, 11, 6, 6, null, true);
        writer.merge(12, 18, 6, 6, null, true);
        writer.merge(19, 24, 6, 6, null, true);
        writer.merge(1, 4, 7, 7, null, true);
        writer.merge(5, 7, 7, 7, null, true);
        writer.merge(13, 18, 7, 7, null, true);
    }

  

結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM