package test;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import lombok.extern.slf4j.Slf4j;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
@Slf4j
public class Demo {
public void exportData() throws IOException {
int totalSize = dataService.getDataCount();
int pageSize = 10000;
int totalPage = (totalSize + pageSize - 1) / pageSize;
String fileName = "导出数据.xlsx";
FileOutputStream outputStream = new FileOutputStream("output.xlsx");
ExcelWriter excelWriter = EasyExcel.write(outputStream).build();
for (int i = 1; i <= totalPage; i++) {
int startIndex = (i - 1) * pageSize;
int endIndex = i * pageSize;
if (endIndex > totalSize) {
endIndex = totalSize;
}
List dataList = dataService.getDataList(startIndex, endIndex);
WriteSheet writeSheet = EasyExcel.writerSheet("数据" + i).build();
excelWriter.write(dataList, writeSheet);
}
excelWriter.finish();
outputStream.flush();
outputStream.close();
}
}