一、easyexcel導出多個sheet表格模板
在使用EasyExcel導出多個Sheet表格時,我們首先需要創建不同的Sheet表格模板。為此,我們可以通過 EasyExcel 的 WriteModel 模式,創建多個不同的Model並使用不同的Sheet存儲在同一個Excel文件中。需要注意的是,多個Sheet在創建時,需要指定不同的Sheet名稱。
public void writeSeveralSheetsWithTemplate(String filePath){ List modelList = new ArrayList(); WriteModel model1 = new WriteModel(); model1.setName("Sheet1"); List<List> data1 = new ArrayList(); data1.add(Arrays.asList("姓名", "年齡", "性別")); model1.setData(data1); modelList.add(model1); WriteModel model2 = new WriteModel(); model2.setName("Sheet2"); List<List> data2 = new ArrayList(); data2.add(Arrays.asList("學科", "成績")); model2.setData(data2); modelList.add(model2); EasyExcel.write(filePath).withTemplate(templateFileName).sheet().doWrite(modelList); }
二、easyexcel導出數據
在創建好多個Sheet表格模板後,我們需要將我們需要導出的數據填充到每一個模板中。可以通過 EasyExcel 的 WriteModel 模式,將數據填充到對應的Sheet表格中。
public void writeSeveralSheetsWithData(String filePath){ List modelList = new ArrayList(); WriteModel model1 = new WriteModel(); model1.setName("Sheet1"); List<List> data1 = new ArrayList(); data1.add(Arrays.asList("小明", "18", "男")); data1.add(Arrays.asList("小紅", "17", "女")); model1.setData(data1); modelList.add(model1); WriteModel model2 = new WriteModel(); model2.setName("Sheet2"); List<List> data2 = new ArrayList(); data2.add(Arrays.asList("語文", "80")); data2.add(Arrays.asList("數學", "90")); model2.setData(data2); modelList.add(model2); EasyExcel.write(filePath).withTemplate(templateFileName).sheet().doWrite(modelList); }
三、easyexcel導出無數據
如果需要在導出Excel文件時,給一些Sheet表格添加無數據提示信息,則可以通過添加一個空的List,來實現該功能。
public void writeSeveralSheetsWithEmptyData(String filePath){ List modelList = new ArrayList(); WriteModel model1 = new WriteModel(); model1.setName("Sheet1"); List<List> data1 = new ArrayList(); data1.add(Arrays.asList("小明", "18", "男")); model1.setData(data1); modelList.add(model1); WriteModel model2 = new WriteModel(); model2.setName("Sheet2"); List<List> data2 = new ArrayList(); // 添加空的List model2.setData(data2); modelList.add(model2); EasyExcel.write(filePath).withTemplate(templateFileName).sheet().doWrite(modelList); }
四、easyexcel模板導出選取
通過EasyExcel,我們可以實現對指定Sheet表格數據的導出。想要實現該功能,我們需要創建指定的Sheet表格模板,並在使用時,只選取需要的Sheet表格進行數據填充並導出。
public void writeSelectedSheetsWithData(String filePath){ List modelList = new ArrayList(); WriteModel model1 = new WriteModel(); model1.setName("Sheet1"); List<List> data1 = new ArrayList(); data1.add(Arrays.asList("小明", "18", "男")); data1.add(Arrays.asList("小紅", "17", "女")); model1.setData(data1); modelList.add(model1); WriteModel model2 = new WriteModel(); model2.setName("Sheet2"); List<List> data2 = new ArrayList(); data2.add(Arrays.asList("語文", "80")); data2.add(Arrays.asList("數學", "90")); model2.setData(data2); modelList.add(model2); EasyExcel.write(filePath).withTemplate(templateFileName) .sheet("Sheet1") .doWrite(modelList.stream().filter(model -> model.getName().equals("Sheet1")) .collect(Collectors.toList())); }
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/151534.html