一、主方法
package com.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ZipUtil;
import com.dao.TestMapper;
import com.model.InvoiceModel;
import com.service.FileService;
import com.utils.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import org.apache.commons.io.FileUtils;
@Service
public class FileServiceImpl implements FileService {
@Autowired
private TestMapper testMapper;
/**
* 默认每页导出多少条数据
*/
private static int default_size = 5;
/**
* 文件下载路径
*/
private static String excleFilePath = "D:\\export\\excle\\";
private static String zipFilePath = "D:\\export\\zip\\";
@Autowired
private ThreadPoolExecutor threadPoolExecutor;
@Override
public void exportExcleZip() {
List<List> lists = retrunList();
final CountDownLatch countDownLatch = new CountDownLatch(lists.size());
File file = new File(excleFilePath);
if (!file.exists()) {
file.mkdir();
}
//将数据进行导出
for (int j = 0; j < lists.size(); j++) {
List list = lists.get(j);
//导出excle
String sheetTitle = "导出发票信息_" + (j + 1);
String[] title = {
"发票号码", "发票代码"};
threadPoolExecutor.submit(new Runnable() {
@Override
public void run() {
try {
byte