package com.yssh.service;
|
|
import com.yssh.entity.xls.DayExcel;
|
import com.yssh.utils.ExcelUtils;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.core.io.ClassPathResource;
|
import org.springframework.stereotype.Service;
|
|
import java.io.IOException;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* Excel导出服务类
|
* @author WWW
|
* @author 2023-08-05
|
*/
|
@Service
|
public class XlsExportService {
|
protected final Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
/**
|
* 获取Excel模板
|
*/
|
private String getXslTemplate(String type) throws IOException {
|
ClassPathResource resource = new ClassPathResource(String.format("templates/%s.xlsx", type));
|
|
return resource.exists() ? resource.getFile().getPath() : null;
|
}
|
|
/**
|
* 创建Excel
|
*/
|
private <T> void createExcel(String source, String target, List<T> list) {
|
Map<String, List<T>> map = new HashMap<>();
|
map.put("data", list);
|
|
ExcelUtils.writeToTemplate(source, target, map);
|
}
|
|
/**
|
* 创建日报
|
*/
|
public void createDayReport() {
|
try {
|
List<DayExcel> list = new ArrayList<>();
|
for (int i = 1; i < 47; i++) {
|
DayExcel day = new DayExcel("AI-" + (i < 10 ? "0" : "") + i, "lj", "ljtb", "ys", "fs", "fx", "wd");
|
list.add(day);
|
}
|
|
String source = getXslTemplate("day");
|
String target = "";
|
createExcel(source, target, list);
|
} catch (Exception ex) {
|
logger.error(ex.getMessage(), ex);
|
}
|
}
|
|
/**
|
* 创建周报
|
*/
|
public void createWeekReport() {
|
try {
|
String source = getXslTemplate("week");
|
|
} catch (Exception ex) {
|
logger.error(ex.getMessage(), ex);
|
}
|
}
|
|
/**
|
* 创建月报
|
*/
|
public void createMonthReport() {
|
try {
|
String source = getXslTemplate("month");
|
|
} catch (Exception ex) {
|
logger.error(ex.getMessage(), ex);
|
}
|
}
|
}
|