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

java使用EasyExcel導(dǎo)入導(dǎo)出excel

 更新時(shí)間:2021年05月21日 14:58:58   作者:迷途者尋影而行  
導(dǎo)入導(dǎo)出excel數(shù)據(jù)是常見的需求,今天就來看一下Java基于EasyExcel實(shí)現(xiàn)這個(gè)功能,感興趣的朋友可以了解下

一、準(zhǔn)備工作

1、導(dǎo)包

<!-- poi 相關(guān)-->
<dependency>
	<groupId>org.apache.poi</groupId>
	<artifactId>poi</artifactId>
	<version>3.17</version>
</dependency>
<dependency>
	<groupId>org.apache.poi</groupId>
	<artifactId>poi-ooxml-schemas</artifactId>
	<version>3.17</version>
</dependency>
<dependency>
	<groupId>org.apache.poi</groupId>
	<artifactId>poi-ooxml</artifactId>
	<version>3.17</version>
</dependency>
<!-- esayexcel 2.1.7  -->
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>easyexcel</artifactId>
	<version>2.1.7</version>
</dependency>

二、了解注解

1、常用注解

字段注解 類注解
@ColumnWith(列寬) @ColumnWidth(全局列寬)
@ExcelProperty(字段配置) @HeadFontStyle(頭樣式)
@HeadRowHeight(標(biāo)題高度)
@ContentFontStyle(內(nèi)容字體樣式)
@ContentRowHeight(內(nèi)容高度)

2、@ExcelProperty注解

必要的一個(gè)注解,注解中有三個(gè)參數(shù)value,index分別代表列明,列序號(hào)
value和index只能二選一,通常不用設(shè)置converter
1.value 通過標(biāo)題文本對應(yīng)
2.index 通過文本行號(hào)對應(yīng)

@ExcelProperty(value = "編號(hào)", index = 0)
private Long id;

3、@ColumnWith注解

設(shè)置列寬度,只有一個(gè)參數(shù)value,value的單位是字符長度,最大可以設(shè)置255個(gè)字符,因?yàn)橐粋€(gè)excel單元格最大可以寫入的字符個(gè)數(shù)就是255個(gè)字符

public class ImeiEncrypt {
    @ColumnWidth(value = 255) //excel單個(gè)單元格最大長度255
    private String message;
}

4、@ContentFontStyle注解

用于設(shè)置單元格內(nèi)容字體格式的注解

參數(shù) 含義
fontName 字體名稱
fontHeightInPoints 字體高度
italic 是否斜體
strikeout 是否設(shè)置刪除水平線
color 字體顏色
typeOffset 偏移量
underline 下劃線
bold 是否加粗
charset 編碼格式

5、@ContentStyle注解

設(shè)置內(nèi)容格式注解

參數(shù) 含義
dataFormat 日期格式
hidden 設(shè)置單元格使用此樣式隱藏
locked 設(shè)置單元格使用此樣式鎖定
quotePrefix 在單元格前面增加`符號(hào),數(shù)字或公式將以字符串形式展示
horizontalAlignment 設(shè)置是否水平居中
wrapped 設(shè)置文本是否應(yīng)換行。將此標(biāo)志設(shè)置為true通過在多行上顯示使單元格中的所有內(nèi)容可見
verticalAlignment 設(shè)置是否垂直居中
rotation 設(shè)置單元格中文本旋轉(zhuǎn)角度。03版本的Excel旋轉(zhuǎn)角度區(qū)間為-90°90°,07版本的Excel旋轉(zhuǎn)角度區(qū)間為0°180°
indent 設(shè)置單元格中縮進(jìn)文本的空格數(shù)
borderLeft 設(shè)置左邊框的樣式
borderRight 設(shè)置右邊框樣式
borderTop 設(shè)置上邊框樣式
leftBorderColor 設(shè)置左邊框顏色
rightBorderColor 設(shè)置右邊框顏色
topBorderColor 設(shè)置上邊框顏色
bottomBorderColor 設(shè)置下邊框顏色
fillPatternType 設(shè)置填充類型
fillBackgroundColor 設(shè)置背景色
shrinkToFit 設(shè)置自動(dòng)單元格自動(dòng)大小

6、@HeadFontStyle注解

用于定制標(biāo)題字體格式

參數(shù) 含義
fontName 設(shè)置字體名稱
fontHeightInPoints 設(shè)置字體高度
italic 設(shè)置字體是否斜體
strikeout 是否設(shè)置刪除線
color 設(shè)置字體顏色
typeOffset 設(shè)置偏移量
underline 設(shè)置下劃線
charset 設(shè)置字體編碼
bold 設(shè)置字體是否加粗

7、ExcelIgnore注解

不將該字段轉(zhuǎn)換成Excel

三、編碼

1、映射實(shí)體類----例子

package com.pingou.admin.bean.param;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
@ContentRowHeight(35) //文本行高度
@HeadRowHeight(40)    //標(biāo)題高度
@ColumnWidth(40)
public class OrderExcel {
    //設(shè)置excel表頭名稱
    @ExcelProperty(value = "編號(hào)", index = 0)
    private Long id;
    @DateTimeFormat("yyyy年MM月dd日HH時(shí)mm分ss秒")
    @ExcelProperty(value = "創(chuàng)建時(shí)間", index = 1)
    private Date createTime;
}

以上是簡單的舉例,如果有更多屬性自己逐個(gè)寫就好,然后塞進(jìn)該實(shí)體類就好~

2、生成excel

public void excel() {
        //欲導(dǎo)出excel的數(shù)據(jù)結(jié)果集
        List<OrderExcel> excel = new ArrayList<>();
        //省略 向結(jié)果集里插入數(shù)據(jù)的操作

        //UUID生成唯一name
        String name = UUID.randomUUID().toString().replaceAll("-", "") + ".xlsx";
        //實(shí)現(xiàn)excel寫的操作

        //1 設(shè)置寫入文件夾地址和excel文件名稱
        String filename = "/路徑" + name;
        JSONObject json = new JSONObject();
        try {
            // 2 調(diào)用easyexcel里面的方法實(shí)現(xiàn)寫操作
            // write方法兩個(gè)參數(shù):第一個(gè)參數(shù)文件路徑名稱,第二個(gè)參數(shù)實(shí)體類class
            EasyExcel.write(filename, OrderExcel.class).sheet("名字").doWrite(excel);
            //上傳到fastdfs上 不上傳的話只有本機(jī)可以找到,在上面路徑下生成excel  
            File file = new File(filename);
            String path = fastDFSClient.upload(new FileInputStream(file), name, null);
            path = (this.fastdfsDomain + path);
            json.put("url", path);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            new File(filename).delete();
        }
    }

以上,就生成完畢了

四、結(jié)果

以上就是java使用EasyExcel導(dǎo)入導(dǎo)出excel的詳細(xì)內(nèi)容,更多關(guān)于java 用EasyExcel導(dǎo)入導(dǎo)出excel的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 記一次線上SpringCloud Feign請求服務(wù)超時(shí)異常排查問題

    記一次線上SpringCloud Feign請求服務(wù)超時(shí)異常排查問題

    這篇文章主要介紹了記一次線上SpringCloud Feign請求服務(wù)超時(shí)異常排查問題,本項(xiàng)目與下游項(xiàng)目均注冊在Eureka上面,對這個(gè)1秒就超時(shí)感到很迷惑,于是開始查閱底層源碼之旅。需要的朋友可以參考下
    2022-01-01
  • Java中的Vector詳細(xì)解讀

    Java中的Vector詳細(xì)解讀

    這篇文章主要介紹了Java中的Vector詳細(xì)解讀,Vector是實(shí)現(xiàn)了List接口的子類,其底層是一個(gè)對象數(shù)組,維護(hù)了一個(gè)elementData數(shù)組,是線程安全的,Vector類的方法帶有synchronized關(guān)鍵字,在開發(fā)中考慮線程安全中使用Vector,需要的朋友可以參考下
    2023-09-09
  • java中動(dòng)態(tài)代理如何實(shí)現(xiàn)詳解

    java中動(dòng)態(tài)代理如何實(shí)現(xiàn)詳解

    動(dòng)態(tài)代理是基于接口實(shí)現(xiàn)的代理,mybatis就是用這個(gè)技術(shù)實(shí)現(xiàn)的,下面這篇文章主要給大家介紹了關(guān)于java中動(dòng)態(tài)代理如何實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • maven利用tomcat插件部署遠(yuǎn)程Linux服務(wù)器的步驟詳解

    maven利用tomcat插件部署遠(yuǎn)程Linux服務(wù)器的步驟詳解

    Maven已經(jīng)是Java的項(xiàng)目管理常用方式,下面這篇文章主要給大家介紹了關(guān)于maven利用tomcat插件部署遠(yuǎn)程Linux服務(wù)器的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • Spring在@ConditionalOnProperty注解使用詳解

    Spring在@ConditionalOnProperty注解使用詳解

    這篇文章主要介紹了Spring在@ConditionalOnProperty注解使用詳解,@ConditionalOnProperty注解是Spring Boot的條件注解,主要用法是根據(jù)配置文件中的屬性來控制某個(gè)配置類是否生效,或者控制某個(gè)Bean是否被創(chuàng)建,需要的朋友可以參考下
    2023-11-11
  • Maven依賴管理之parent與dependencyManagement深入分析

    Maven依賴管理之parent與dependencyManagement深入分析

    首先我們來說說parent標(biāo)簽,其實(shí)這個(gè)不難解釋,就是父的意思,pom也有繼承的。比方說我現(xiàn)在有A,B,C,A是B,C的父級(jí)?,F(xiàn)在就是有一個(gè)情況B,C其實(shí)有很多jar都是共同的,其實(shí)是可以放在父項(xiàng)目里面,這樣,讓B,C都繼承A就方便管理了
    2022-10-10
  • 使用java將動(dòng)態(tài)網(wǎng)頁生成靜態(tài)網(wǎng)頁示例

    使用java將動(dòng)態(tài)網(wǎng)頁生成靜態(tài)網(wǎng)頁示例

    這篇文章主要介紹了使用java將動(dòng)態(tài)網(wǎng)頁生成靜態(tài)網(wǎng)頁示例,需要的朋友可以參考下
    2014-03-03
  • SpringSecurity request過濾問題示例小結(jié)

    SpringSecurity request過濾問題示例小結(jié)

    這篇文章主要介紹了SpringSecurity request過濾問題示例小結(jié),本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-02-02
  • Java實(shí)現(xiàn)Shazam聲音識(shí)別算法的實(shí)例代碼

    Java實(shí)現(xiàn)Shazam聲音識(shí)別算法的實(shí)例代碼

    Shazam算法采用傅里葉變換將時(shí)域信號(hào)轉(zhuǎn)換為頻域信號(hào),并獲得音頻指紋,最后匹配指紋契合度來識(shí)別音頻。這篇文章給大家介紹Java實(shí)現(xiàn)Shazam聲音識(shí)別算法的實(shí)例代碼,需要的朋友參考下吧
    2018-09-09
  • Java IO流之字符緩沖流實(shí)例詳解

    Java IO流之字符緩沖流實(shí)例詳解

    這篇文章主要介紹了Java IO流之字符緩沖流,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評(píng)論

油尖旺区| 永福县| 军事| 浠水县| 莎车县| 旅游| 苗栗县| 潼关县| 洛扎县| 惠东县| 霍邱县| 额尔古纳市| 香格里拉县| 边坝县| 仙桃市| 北票市| 阜康市| 吉首市| 南靖县| 蒲城县| 徐汇区| 永川市| 调兵山市| 苗栗市| 涪陵区| 肃南| 明光市| 疏附县| 林口县| 吉首市| 洛隆县| 娱乐| 建湖县| 北海市| 瑞丽市| 金湖县| 凤台县| 沙田区| 建湖县| 黄浦区| 颍上县|