一、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
微信掃一掃
支付寶掃一掃