日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

java實現(xiàn)excel導(dǎo)入 java批量導(dǎo)入excel數(shù)據(jù)( 二 )



2.2.2、動態(tài)參數(shù)化生成文件動態(tài)參數(shù)化生成文件,這種方式小編使用的比較多,基于它,我們可以封裝一個公共的導(dǎo)出工具類,在后面會單獨介紹給大家,示例代碼如下:
public static void main(String[] args) throws FileNotFoundException {//定義表頭List<List<String>> headList = new ArrayList<>();headList.add(Lists.newArrayList("姓名"));headList.add(Lists.newArrayList("年齡"));headList.add(Lists.newArrayList("操作時間"));//定義數(shù)據(jù)體List<List<Object>> dataList = new ArrayList<>();for (int i = 0; i < 10; i++) {List<Object> data = https://www.jinnalai.com/fenxiang/new ArrayList<>();data.add("張三" + i);data.add(20 + i);data.add(new Date(System.currentTimeMillis() + i));dataList.add(data);}//定義文件輸出位置FileOutputStream outputStream = new FileOutputStream(new File("/Users/panzhi/Documents/easyexcel-export-user2.xlsx"));EasyExcel.write(outputStream).head(headList).sheet("用戶信息").doWrite(dataList);}運行程序,打開文件內(nèi)容,結(jié)果與上面一致!

java實現(xiàn)excel導(dǎo)入 java批量導(dǎo)入excel數(shù)據(jù)


2.2.3、復(fù)雜表頭的生成很多時候我們需要導(dǎo)出的文件,表頭比較復(fù)雜,例如,我們想導(dǎo)出如下圖這樣一個復(fù)雜表頭,應(yīng)該如何實現(xiàn)呢?

java實現(xiàn)excel導(dǎo)入 java批量導(dǎo)入excel數(shù)據(jù)


如果你是使用在實體類上添加注解方式生成文件,那么可以通過如下方式來實現(xiàn):
public class UserEntity {@ExcelProperty(value = "https://www.jinnalai.com/fenxiang/班級")private String className;@ExcelProperty({"學(xué)生信息", "姓名"})private String name;@ExcelProperty({"學(xué)生信息", "年齡"})private int age;@DateTimeFormat("yyyy-MM-dd HH:mm:ss")@ExcelProperty({"學(xué)生信息", "入學(xué)時間"})private Date time;//set、get...}其中{“學(xué)生信息”, “姓名”}這種表達式,表示在當(dāng)前列,插入多行數(shù)據(jù),第一行插入的是學(xué)生信息名稱,第二行,插入的是姓名名稱,因此形成多級表頭!
如果你是使用的動態(tài)參數(shù)化生成文件,操作也同樣類似,示例代碼如下:
public static void main(String[] args) throws FileNotFoundException {//定義多級表頭List<List<String>> headList = new ArrayList<>();headList.add(Lists.newArrayList("班級"));headList.add(Lists.newArrayList("學(xué)生信息", "姓名"));headList.add(Lists.newArrayList("學(xué)生信息","年齡"));headList.add(Lists.newArrayList("學(xué)生信息","入學(xué)時間"));//定義數(shù)據(jù)體List<List<Object>> dataList = new ArrayList<>();for (int i = 0; i < 10; i++) {List<Object> data = https://www.jinnalai.com/fenxiang/new ArrayList<>();data.add("一年級~1班");data.add("張三" + i);data.add(20 + i);data.add(new Date(System.currentTimeMillis() + i));dataList.add(data);}//定義文件輸出位置FileOutputStream outputStream = new FileOutputStream(new File("/Users/panzhi/Documents/easyexcel-export-user3.xlsx"));EasyExcel.write(outputStream).head(headList).sheet("用戶信息").doWrite(dataList);}其中Lists.newArrayList(“學(xué)生信息”, “姓名”)表達的意思跟上面一樣,在當(dāng)前列下插入多行,類似于:
List<String> list = new ArrayList<>();list.add("學(xué)生信息");list.add("姓名");Lists.newArrayList編程來自于guava工具包!
2.2.4、自定義樣式在實際使用過程中,我們可能還需要針對文件做一下樣式自定義,例如你想把表頭設(shè)置為紅色,內(nèi)容設(shè)置為綠色,列寬、行寬都加大,應(yīng)該如何實現(xiàn)呢?

java實現(xiàn)excel導(dǎo)入 java批量導(dǎo)入excel數(shù)據(jù)


操作也很簡單,編寫一個自定義樣式類,然后在寫入的時候注入進去 。

推薦閱讀