Java导出百万级数据到Excel中
使用POI导出大批量数据到Excel操作步骤:
第一步: 你的自己准备一个大批量的数据 最好能超过65536条以上
分享一个SQL文件 链接:https://pan.baidu.com/s/13sL7hATEWUTZCqrUHAbzJA 提取码:gp60
第二部: 开始编写代码,查询所有的数据,将结果集出传递给导出的工具类进行导出
@RequestMapping("/export")
public void exportBigDataToExcel(User user,HttpServletRequest request, HttpServletResponse respose) {
// 创建时间格式变量后面要重新格式化日期时间
SimpleDateFormat sdf_1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 设置文件名称
String exportFileName = "用户信息";
// 根据条件获取数据库中的所有数据
List<User> bigDataList= userService.exportBigDataToExcel(user);
// 获取数据总行
int totalRowNum = memberIntegralDtoList.size();
try {
//创建SXSSFWorkbook对象(excel的文档对象)
SXSSFWorkbook wb = new SXSSFWorkbook();
/* 设定单个sheet的最大数据行数 博主选的是2003
提醒: excel单个sheet的最大行
2003版:65536行 256列;
2007版:1048576行 16384列;
2010版:1048576行 16384列;
2013版:1048576行 16384列 */
int maxRowNum = 60000;
// 根据查询的数据总条数计算需要多少个sheet 来存储数据
int sheets = totalRowNum % 60000 == 0 ? (totalRowNum / maxRowNum) : (totalRowNum / maxRowNum + 1);
// 循环创建sheet 并写入数据
for (int i = 0; i < sheets; i++) {
// 创建SheetName
SXSSFSheet sheet = wb.createSheet("用户" + i);
/