去除autopoi,引入easypoi

This commit is contained in:
lixuetao
2023-11-17 23:35:42 +08:00
parent 95e52713fe
commit b84fded287
87 changed files with 355 additions and 436 deletions
@@ -154,10 +154,8 @@ public class JeroDemoController extends JeroController<JeroDemo, IJeroDemoServic
@RequestMapping(value = "/exportXls")
@PermissionData(pageComponent = "jero/JeroDemoList")
public ModelAndView exportXls(HttpServletRequest request, JeroDemo jeroDemo) {
//获取导出表格字段
String exportFields = JeroDemoService.getExportFields();
//分sheet导出表格字段
return super.exportXlsSheet(request, jeroDemo, JeroDemo.class, "单表模型",exportFields,500);
return super.exportXlsSheet(request, jeroDemo, JeroDemo.class, "单表模型",500);
}
/**
@@ -18,11 +18,11 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.ss.formula.functions.T;
import org.apache.shiro.SecurityUtils;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.entity.vo.NormalExcelConstants;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.view.EasypoiSingleExcelView;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -178,7 +178,7 @@ public class JeroOrderMainController extends JeroController<JeroOrderMain, IJero
// Step.1 组装查询条件
QueryWrapper<JeroOrderMain> queryWrapper = QueryGenerator.initQueryWrapper(jeroOrderMain, request.getParameterMap());
//Step.2 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
ModelAndView mv = new ModelAndView(new EasypoiSingleExcelView());
//获取当前用户
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -14,11 +14,11 @@ import com.jero.modules.demo.test.service.IJoaDemoService;
import org.apache.commons.lang.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.formula.functions.T;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.entity.vo.NormalExcelConstants;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.view.EasypoiSingleExcelView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -181,7 +181,7 @@ public class JoaDemoController {
}
//Step.2 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
ModelAndView mv = new ModelAndView(new EasypoiSingleExcelView());
List<JoaDemo> pageList = joaDemoService.list(queryWrapper);
//导出文件名称
mv.addObject(JeroController.FILE_NAME, "流程测试列表");
@@ -3,7 +3,7 @@ package com.jero.modules.demo.test.entity;
import java.io.Serializable;
import com.jero.common.system.base.entity.JeroEntity;
import org.jeecgframework.poi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -56,7 +56,7 @@ public class JeroDemo extends JeroEntity implements Serializable {
private java.lang.Double bonusMoney;
/** 性别 {男:1,女:2} */
@ApiModelProperty(value = "性别")
@Excel(name = "性别", width = 15, dicCode = "sex")
@Excel(name = "性别", width = 15, dict = "sex")
private java.lang.String sex;
/** 年龄 */
@ApiModelProperty(value = "年龄",example = "0")
@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
/**
@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
/**
@@ -2,7 +2,7 @@ package com.jero.modules.demo.test.entity;
import java.io.Serializable;
import org.jeecgframework.poi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import com.baomidou.mybatisplus.annotation.IdType;
@@ -25,9 +25,4 @@ public interface IJeroDemoService extends JeroService<JeroDemo> {
*/
IPage<JeroDemo> queryListWithPermission(int pageSize, int pageNo);
/**
* 根据用户权限获取导出字段
* @return
*/
String getExportFields();
}
@@ -81,33 +81,4 @@ public class JeroDemoServiceImpl extends ServiceImpl<JeroDemoMapper, JeroDemo> i
return this.baseMapper.queryListWithPermission(page, sql);
}
@Override
public String getExportFields() {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
//权限配置列导出示例
//1.配置前缀与菜单中配置的列前缀一致
List<String> noAuthList = new ArrayList<>();
List<String> exportFieldsList = new ArrayList<>();
String permsPrefix = "testdemo:";
//查询配置菜单有效字段
List<String> allAuth = this.jeroDemoMapper.queryAllAuth(permsPrefix);
//查询已授权字段
List<String> userAuth = this.jeroDemoMapper.queryUserAuth(sysUser.getId(),permsPrefix);
//列出未授权字段
for(String perms : allAuth){
if(!userAuth.contains(perms)){
noAuthList.add(perms.substring(permsPrefix.length()));
}
}
//实体类中字段与未授权字段比较,列出需导出字段
Field[] fileds = JeroDemo.class.getDeclaredFields();
List<Field> list = new ArrayList<>(Arrays.asList(fileds));
for(Field field : list){
if(!noAuthList.contains(field.getName())){
exportFieldsList.add(field.getName());
}
}
return !exportFieldsList.isEmpty() ? String.join(",", exportFieldsList) : "";
}
}
@@ -4,8 +4,8 @@ import java.util.List;
import com.jero.modules.demo.test.entity.JeroOrderCustomer;
import com.jero.modules.demo.test.entity.JeroOrderTicket;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelCollection;
import lombok.Data;