Commit 91173dec authored by ZWT's avatar ZWT

feat(零碳): 长庆

1.添加easy excel配置,增加转换器,增加全局excel导出样式,增加场站下拉选解析器;
2.开发光伏电站模板导出接口,增加模板导出类,并完成接口冒烟测试及接口文档;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent b603ae05
package pps.core.base.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.io.FileUtil;
import com.alibaba.excel.EasyExcelFactory;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import pps.core.base.config.excel.CascadeWriteHandler;
import pps.core.base.config.excel.ExcelStyleTool;
import pps.core.base.service.data.base_excel.ExcelPhotovoltaicPlantTemplate;
import pps.core.base.utils.EasyExcelUtil;
......@@ -18,6 +20,9 @@ import xstartup.feature.api.annotation.XApiGet;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* excel导入导出
......@@ -40,9 +45,19 @@ public class ExcelService {
public XFileResult templatePhotovoltaicPlant(XContext context) {
String fileSavePath = XStorageTool.getAbsolutePath("/temp/excel/光伏电站模板.xlsx");
File file = FileUtil.touch(fileSavePath);
// 准备要写出的数据(这里可以从数据库中查询出来后再进行)
// 查询所有的省名称
List<String> provNameList = new ArrayList<>();
provNameList.add("浙江省");
provNameList.add("广东省");
// 整理数据,放入一个Map中,mapkey存放父地点,value 存放该地点下的子区域
Map<String, List<String>> siteMap = new HashMap<>();
siteMap.put("浙江省", CollUtil.newArrayList("杭州市", "金华市", "宁波市"));
siteMap.put("广东省", CollUtil.newArrayList("广州市", "深圳市", "韶光市"));
ExcelWriter excelWriter = EasyExcelFactory.write(file)
.registerWriteHandler(ExcelStyleTool.getStyleStrategy())
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
.registerWriteHandler(new CascadeWriteHandler(provNameList, siteMap))
.autoCloseStream(Boolean.TRUE)
.build();
WriteSheet writeSheet = EasyExcelUtil.writeSelectedSheet(ExcelPhotovoltaicPlantTemplate.class, 0, "光伏电站");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment