diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 25ffe24..f866e2a 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -7,6 +7,7 @@
+
@@ -15,6 +16,7 @@
\ No newline at end of file
diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml
new file mode 100644
index 0000000..0e3f01f
--- /dev/null
+++ b/.idea/dataSources.xml
@@ -0,0 +1,17 @@
+
+
+
+
+ mysql.8
+ true
+ com.mysql.cj.jdbc.Driver
+ jdbc:mysql://110.42.189.169:3306/chdtushu
+
+
+
+
+
+ $ProjectFileDir$
+
+
+
\ No newline at end of file
diff --git a/exam-api/src/main/java/com/bc/exam/ExamApplication.java b/exam-api/src/main/java/com/bc/exam/ExamApplication.java
index 55ab469..64ce10b 100644
--- a/exam-api/src/main/java/com/bc/exam/ExamApplication.java
+++ b/exam-api/src/main/java/com/bc/exam/ExamApplication.java
@@ -2,20 +2,15 @@ package com.bc.exam;
import com.bc.exam.core.api.utils.JsonConverter;
import lombok.extern.log4j.Log4j2;
-import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.context.ConfigurableApplicationContext;
-import org.springframework.core.env.Environment;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
import java.util.List;
/**
- * @Description 描述:
+ * @Description 描述:springboot 系统启动
* @Author A贾宇婷034244310
* @Date 20260615
*/
@@ -24,24 +19,11 @@ import java.util.List;
@EnableTransactionManagement
public class ExamApplication implements WebMvcConfigurer {
- public static void main(String[] args) throws UnknownHostException {
- ConfigurableApplicationContext application = SpringApplication.run(ExamApplication.class, args);
- Environment env = application.getEnvironment();
- String ip = InetAddress.getLocalHost().getHostAddress();
- String port = env.getProperty("server.port");
- String path = env.getProperty("server.servlet.context-path");
-
- // 未配置默认空白
- if(path == null){
- path = "";
- }
-
-
+ public static void main(String[] args) {
log.info("\n----------------------------------------------------------\n\t" +
"系统启动成功,访问路径如下:\n\t" +
- "本地路径: \t\thttp://127.0.0.1:" + port + path + "/\n\t" +
- "网络地址: \thttp://" + ip + ":" + port + path + "/\n\t" +
- "API文档: \t\thttp://" + ip + ":" + port + path + "/doc.html\n" +
+ "本地路径: \t\thttp://127.0.0.1:8101/\n\t"+
+ "API文档: \t\thttp://127.0.0.1:8101/doc.html\n\t" +
"----------------------------------------------------------");
}
diff --git a/exam-api/src/main/java/com/bc/exam/core/api/ApiError.java b/exam-api/src/main/java/com/bc/exam/core/api/ApiError.java
index 63c201f..3a4f6f8 100644
--- a/exam-api/src/main/java/com/bc/exam/core/api/ApiError.java
+++ b/exam-api/src/main/java/com/bc/exam/core/api/ApiError.java
@@ -6,11 +6,11 @@ import lombok.NoArgsConstructor;
import java.io.Serializable;
+
/**
- * 全局错误码定义,用于定义接口的响应数据,
- * 枚举名称全部使用代码命名,在系统中调用,免去取名难的问题。
- * @author chenhaodong
- * @date 2019-06-14 21:15
+ * @Description 描述:全局错误码定义,用于定义接口的响应数据,枚举名称全部使用代码命名,在系统中调用,免去取名难的问题。
+ * @Author A贾宇婷034244310
+ * @Date 20260615
*/
@NoArgsConstructor
@AllArgsConstructor
diff --git a/exam-api/src/main/java/com/bc/exam/core/api/ApiRest.java b/exam-api/src/main/java/com/bc/exam/core/api/ApiRest.java
index 03f3498..250ae43 100644
--- a/exam-api/src/main/java/com/bc/exam/core/api/ApiRest.java
+++ b/exam-api/src/main/java/com/bc/exam/core/api/ApiRest.java
@@ -7,10 +7,11 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
+
/**
- * 数据结果返回的封装
- * @author chenhaodong
- * @date 2018/11/20 09:48
+ * @Description 描述:数据结果返回的封装
+ * @Author A贾宇婷034244310
+ * @Date 20260615
*/
@Data
@NoArgsConstructor
diff --git a/exam-api/src/main/java/com/bc/exam/core/api/dto/BaseIdsReqDTO.java b/exam-api/src/main/java/com/bc/exam/core/api/dto/BaseIdsReqDTO.java
index a1808e9..69d5cdc 100644
--- a/exam-api/src/main/java/com/bc/exam/core/api/dto/BaseIdsReqDTO.java
+++ b/exam-api/src/main/java/com/bc/exam/core/api/dto/BaseIdsReqDTO.java
@@ -8,9 +8,9 @@ import lombok.Data;
import java.util.List;
/**
- * 通用ID列表类操作,用于批量删除、修改状态等
- * @author chenhaodong
- * @date 2019-08-01 19:07
+ * @Description 描述:通用ID列表类操作,用于批量删除、修改状态等
+ * @Author A贾宇婷034244310
+ * @Date 20260615
*/
@Data
@ApiModel(value="删除参数", description="删除参数")
diff --git a/exam-api/src/main/java/com/bc/exam/core/api/dto/BaseStateReqDTO.java b/exam-api/src/main/java/com/bc/exam/core/api/dto/BaseStateReqDTO.java
index 0d7552c..4a5942e 100644
--- a/exam-api/src/main/java/com/bc/exam/core/api/dto/BaseStateReqDTO.java
+++ b/exam-api/src/main/java/com/bc/exam/core/api/dto/BaseStateReqDTO.java
@@ -8,13 +8,11 @@ import lombok.NoArgsConstructor;
import java.util.List;
+
/**
- *
- * 通用状态请求类,用于修改状态什么的
- *
- *
- * @author chenhaodong
- * @since 2019-04-20 12:15
+ * @Description 描述:通用状态请求类,用于修改状态什么的
+ * @Author A贾宇婷034244310
+ * @Date 20260615
*/
@Data
@ApiModel(value="通用状态请求类", description="通用状态请求类")
diff --git a/exam-api/src/main/java/com/bc/exam/core/api/dto/PagingReqDTO.java b/exam-api/src/main/java/com/bc/exam/core/api/dto/PagingReqDTO.java
index 08ddeab..5396334 100644
--- a/exam-api/src/main/java/com/bc/exam/core/api/dto/PagingReqDTO.java
+++ b/exam-api/src/main/java/com/bc/exam/core/api/dto/PagingReqDTO.java
@@ -7,9 +7,9 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
- * 分页查询类
- * @param
- * @author chenhaodong
+ * @Description 描述:分页查询类
+ * @Author A贾宇婷034244310
+ * @Date 20260615
*/
@ApiModel(value="分页参数", description="分页参数")
@Data
diff --git a/exam-api/src/main/java/com/bc/exam/core/api/dto/PagingRespDTO.java b/exam-api/src/main/java/com/bc/exam/core/api/dto/PagingRespDTO.java
index 61b279f..3f72b4c 100644
--- a/exam-api/src/main/java/com/bc/exam/core/api/dto/PagingRespDTO.java
+++ b/exam-api/src/main/java/com/bc/exam/core/api/dto/PagingRespDTO.java
@@ -3,10 +3,9 @@ package com.bc.exam.core.api.dto;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
/**
- * 分页响应类
- * @author chenhaodong
- * @date 2019-07-20 15:17
- * @param
+ * @Description 描述:
+ * @Author A贾宇婷034244310分页响应类
+ * @Date 20260615
*/
public class PagingRespDTO extends Page {
diff --git a/exam-api/src/main/java/com/bc/exam/core/api/utils/JsonConverter.java b/exam-api/src/main/java/com/bc/exam/core/api/utils/JsonConverter.java
index 6f9aa7e..e2f9a72 100644
--- a/exam-api/src/main/java/com/bc/exam/core/api/utils/JsonConverter.java
+++ b/exam-api/src/main/java/com/bc/exam/core/api/utils/JsonConverter.java
@@ -11,9 +11,9 @@ import java.util.ArrayList;
import java.util.List;
/**
- * JSON数据转换器,用于转换返回消息的格式
- * @author chenhaodong
- * @date 2018/9/11 19:30
+ * @Description 描述:JSON数据转换器,用于转换返回消息的格式
+ * @Author A贾宇婷034244310
+ * @Date 20260615
*/
public class JsonConverter {
diff --git a/exam-api/src/main/java/com/bc/exam/core/enums/CommonState.java b/exam-api/src/main/java/com/bc/exam/core/enums/CommonState.java
index f8ac9f0..3202eab 100644
--- a/exam-api/src/main/java/com/bc/exam/core/enums/CommonState.java
+++ b/exam-api/src/main/java/com/bc/exam/core/enums/CommonState.java
@@ -1,10 +1,10 @@
package com.bc.exam.core.enums;
+
/**
- * 通用的状态枚举信息
- *
- * @author chenhaodong
- * @date 2019-09-17 17:57
+ * @Description 描述:通用的状态枚举信息
+ * @Author A贾宇婷034244310
+ * @Date 20260615
*/
public interface CommonState {
diff --git a/exam-api/src/main/java/com/bc/exam/core/exception/ServiceException.java b/exam-api/src/main/java/com/bc/exam/core/exception/ServiceException.java
index 820cec9..f03f12d 100644
--- a/exam-api/src/main/java/com/bc/exam/core/exception/ServiceException.java
+++ b/exam-api/src/main/java/com/bc/exam/core/exception/ServiceException.java
@@ -6,6 +6,11 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
+/**
+ * @Description 描述:服务自定义异常 继承运行时异常
+ * @Author A贾宇婷034244310
+ * @Date 20260615
+ */
@Data
@AllArgsConstructor
@NoArgsConstructor
diff --git a/exam-api/src/main/java/com/bc/exam/core/exception/ServiceExceptionHandler.java b/exam-api/src/main/java/com/bc/exam/core/exception/ServiceExceptionHandler.java
index a45abbe..11f2d6a 100644
--- a/exam-api/src/main/java/com/bc/exam/core/exception/ServiceExceptionHandler.java
+++ b/exam-api/src/main/java/com/bc/exam/core/exception/ServiceExceptionHandler.java
@@ -7,9 +7,9 @@ import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.*;
/**
- * 统一异常处理类
- * @author chenhaodong
- * @date 2019-06-21 19:27
+ * @Description 描述:统一异常处理类
+ * @Author A贾宇婷034244310
+ * @Date 20260615
*/
@RestControllerAdvice
public class ServiceExceptionHandler {
diff --git a/exam-api/src/main/java/com/bc/exam/core/utils/CodeGenerator.java b/exam-api/src/main/java/com/bc/exam/core/utils/CodeGenerator.java
deleted file mode 100644
index b050bd4..0000000
--- a/exam-api/src/main/java/com/bc/exam/core/utils/CodeGenerator.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package com.bc.exam.core.utils;
-
-import com.baomidou.mybatisplus.annotation.DbType;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.generator.AutoGenerator;
-import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
-import com.baomidou.mybatisplus.generator.config.GlobalConfig;
-import com.baomidou.mybatisplus.generator.config.PackageConfig;
-import com.baomidou.mybatisplus.generator.config.StrategyConfig;
-import com.baomidou.mybatisplus.generator.config.rules.DateType;
-import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
-
-/**
- * @author chenhaodong
- * @since 2022-11-23 21:11
- */
-public class CodeGenerator {
-
- public static void main(String[] args) {
-
- // 1、创建代码生成器
- AutoGenerator mpg = new AutoGenerator();
-
- // 2、全局配置
- GlobalConfig gc = new GlobalConfig();
- String projectPath = System.getProperty("user.dir");
- gc.setOutputDir(projectPath + "/exam-api/src/main/java");
- gc.setAuthor("chenhaodong");
- gc.setOpen(false); //生成后是否打开资源管理器
- gc.setFileOverride(false); //重新生成时文件是否覆盖
- gc.setServiceName("%sService"); //去掉Service接口的首字母I
- gc.setIdType(IdType.ASSIGN_ID); //主键策略
- gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型
- gc.setSwagger2(false);//开启Swagger2模式
-
- mpg.setGlobalConfig(gc);
-
- // 3、数据源配置
- DataSourceConfig dsc = new DataSourceConfig();
- dsc.setUrl("jdbc:mysql://47.102.144.36:3306/chdbs?useSSL=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true");
- dsc.setDriverName("com.mysql.cj.jdbc.Driver");
- dsc.setUsername("chdbs");
- dsc.setPassword("chdbs");
- dsc.setDbType(DbType.MYSQL);
- mpg.setDataSource(dsc);
-
- // 4、包配置
- PackageConfig pc = new PackageConfig();
- // 模块名 会在Parent目录下建立目录
- pc.setModuleName("tlog");
- pc.setParent("com.bc.exam.modules");
- pc.setController("controller");
- pc.setEntity("entity");
- pc.setService("service");
- pc.setMapper("mapper");
- mpg.setPackageInfo(pc);
-
- // 5、策略配置
- StrategyConfig strategy = new StrategyConfig();
- strategy.setInclude("t_log");//对那一张表生成代码
- strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
- strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀
-
- strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
- strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作
-
- strategy.setRestControllerStyle(true); //restful api风格控制器
- strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符
-
- mpg.setStrategy(strategy);
-
- // 6、执行
- mpg.execute();
- }
-}
diff --git a/exam-api/src/main/java/com/bc/exam/core/utils/DateUtils.java b/exam-api/src/main/java/com/bc/exam/core/utils/DateUtils.java
deleted file mode 100644
index 4b4e845..0000000
--- a/exam-api/src/main/java/com/bc/exam/core/utils/DateUtils.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package com.bc.exam.core.utils;
-
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.GregorianCalendar;
-
-/**
- * 日期处理工具类
- * ClassName: DateUtils
- * date: 2018年12月13日 下午6:34:02
- *
- * @author chenhaodong
- * @version
- */
-public class DateUtils {
-
- /**
- *
- * calcExpDays:计算某个日期与当前日期相差的天数,如果计算的日期大于现在时间,将返回负数;否则返回正数
- * @author chenhaodong
- * @param userCreateTime
- * @return
- * @since JDK 1.6
- */
- public static int calcExpDays(Date userCreateTime){
-
- Calendar start = Calendar.getInstance();
- start.setTime(userCreateTime);
-
- Calendar now = Calendar.getInstance();
- now.setTime(new Date());
-
- long l = now.getTimeInMillis() - start.getTimeInMillis();
- int days = new Long(l / (1000 * 60 * 60 * 24)).intValue();
- return days;
- }
-
-
- /**
- *
- * dateNow:获取当前时间的字符串格式,根据传入的格式化来展示.
- * @author chenhaodong
- * @param format 日期格式化
- * @return
- */
- public static String dateNow(String format) {
- SimpleDateFormat fmt = new SimpleDateFormat(format);
- Calendar c = new GregorianCalendar();
- return fmt.format(c.getTime());
- }
-
- /**
- * formatDate:格式化日期,返回指定的格式
- * @author chenhaodong
- * @param time
- * @param format
- * @return
- */
- public static String formatDate(Date time, String format) {
- SimpleDateFormat fmt = new SimpleDateFormat(format);
- return fmt.format(time.getTime());
- }
-
-
-
- /**
- * parseDate:将字符串转换成日期,使用:yyyy-MM-dd HH:mm:ss 来格式化
- * @author chenhaodong
- * @param date
- * @return
- */
- public static Date parseDate(String date) {
- return parseDate(date, "yyyy-MM-dd HH:mm:ss");
- }
-
-
- /**
- *
- * parseDate:将字符串转换成日期,使用指定格式化来格式化
- * @author chenhaodong
- * @param date
- * @param pattern
- * @return
- */
- public static Date parseDate(String date, String pattern) {
-
- if (pattern==null) {
- pattern = "yyyy-MM-dd HH:mm:ss";
- }
-
- SimpleDateFormat fmt = new SimpleDateFormat(pattern);
-
- try {
- return fmt.parse(date);
- } catch (Exception ignored) {
-
- }
- return null;
- }
-}
diff --git a/exam-api/src/main/java/com/bc/exam/core/utils/IpUtils.java b/exam-api/src/main/java/com/bc/exam/core/utils/IpUtils.java
deleted file mode 100644
index ea9c32a..0000000
--- a/exam-api/src/main/java/com/bc/exam/core/utils/IpUtils.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package com.bc.exam.core.utils;
-
-
-import javax.servlet.http.HttpServletRequest;
-
-/**
- * IP获取工具类,用户获取网络请求过来的真实IP
- * ClassName: IpUtils
- * date: 2018年2月13日 下午7:27:52
- *
- * @author chenhaodong
- * @version
- */
-public class IpUtils {
-
-
- /**
- *
- * getClientIp:通过请求获取客户端的真实IP地址
- * @author chenhaodong
- * @param request
- * @return
- */
- public static String extractClientIp(HttpServletRequest request) {
-
- String ip = null;
-
- //X-Forwarded-For:Squid 服务代理
- String ipAddresses = request.getHeader("X-Forwarded-For");
-
- if (ipAddresses == null || ipAddresses.length() == 0 || "unknown".equalsIgnoreCase(ipAddresses)) {
- //Proxy-Client-IP:apache 服务代理
- ipAddresses = request.getHeader("Proxy-Client-IP");
- }
-
- if (ipAddresses == null || ipAddresses.length() == 0 || "unknown".equalsIgnoreCase(ipAddresses)) {
- //WL-Proxy-Client-IP:weblogic 服务代理
- ipAddresses = request.getHeader("WL-Proxy-Client-IP");
- }
-
- if (ipAddresses == null || ipAddresses.length() == 0 || "unknown".equalsIgnoreCase(ipAddresses)) {
- //HTTP_CLIENT_IP:有些代理服务器
- ipAddresses = request.getHeader("HTTP_CLIENT_IP");
- }
-
- if (ipAddresses == null || ipAddresses.length() == 0 || "unknown".equalsIgnoreCase(ipAddresses)) {
- //X-Real-IP:nginx服务代理
- ipAddresses = request.getHeader("X-Real-IP");
- }
-
- //有些网络通过多层代理,那么获取到的ip就会有多个,一般都是通过逗号(,)分割开来,并且第一个ip为客户端的真实IP
- if (ipAddresses != null && ipAddresses.length() != 0) {
- ip = ipAddresses.split(",")[0];
- }
-
- //还是不能获取到,最后再通过request.getRemoteAddr();获取
- if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ipAddresses)) {
- ip = request.getRemoteAddr();
- }
-
- return ip;
- }
-
-
-}
diff --git a/exam-api/src/main/java/com/bc/exam/core/utils/Reflections.java b/exam-api/src/main/java/com/bc/exam/core/utils/Reflections.java
index bafe037..f687875 100644
--- a/exam-api/src/main/java/com/bc/exam/core/utils/Reflections.java
+++ b/exam-api/src/main/java/com/bc/exam/core/utils/Reflections.java
@@ -1,6 +1,3 @@
-/**
- * Copyright (c) 2005-2012 springside.org.cn
- */
package com.bc.exam.core.utils;
import lombok.extern.log4j.Log4j2;
@@ -18,11 +15,11 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+
/**
- * 反射工具类.
- * 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实类等工具函数.
- * @author chenhaodong
- * @version 2016-01-15
+ * @Description 描述:反射工具类.提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实类等工具函数.
+ * @Author A贾宇婷034244310
+ * @Date 20260615
*/
@Log4j2
public class Reflections {
diff --git a/exam-api/src/main/java/com/bc/exam/core/utils/SpringUtils.java b/exam-api/src/main/java/com/bc/exam/core/utils/SpringUtils.java
deleted file mode 100644
index b8e1f57..0000000
--- a/exam-api/src/main/java/com/bc/exam/core/utils/SpringUtils.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.bc.exam.core.utils;
-
-import org.springframework.beans.BeansException;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.ApplicationContextAware;
-import org.springframework.stereotype.Component;
-
-/**
- * Spring获取工具
- *
- * @author chenhaodong
- * @date 2019-12-09 15:55
- */
-@Component
-public class SpringUtils implements ApplicationContextAware {
-
- private static ApplicationContext applicationContext;
-
- @Override
- public void setApplicationContext(ApplicationContext context) throws BeansException {
- applicationContext = context;
- }
-
- public static T getBean(Class tClass) {
- return applicationContext.getBean(tClass);
- }
-
- public static T getBean(String name, Class type) {
- return applicationContext.getBean(name, type);
- }
-
-}
diff --git a/exam-api/src/main/java/com/bc/exam/core/utils/StringUtils.java b/exam-api/src/main/java/com/bc/exam/core/utils/StringUtils.java
index 2dec493..ce94d87 100644
--- a/exam-api/src/main/java/com/bc/exam/core/utils/StringUtils.java
+++ b/exam-api/src/main/java/com/bc/exam/core/utils/StringUtils.java
@@ -1,11 +1,11 @@
package com.bc.exam.core.utils;
-import java.util.Map;
+
/**
- * 字符串常用工具类
- * @author chenhaodong
- * @date 2019-05-15 11:40
+ * @Description 描述:字符串常用工具类
+ * @Author A贾宇婷034244310
+ * @Date 20260615
*/
public class StringUtils {
@@ -19,21 +19,5 @@ public class StringUtils {
}
- /**
- * 将MAP转换成一个xml格式,格式为value...
- * @param params
- * @return
- */
- public static String mapToXml(Map params){
- StringBuffer sb = new StringBuffer("");
- for(String key:params.keySet()){
- sb.append("<")
- .append(key).append(">")
- .append(params.get(key))
- .append("").append(key).append(">");
- }
- sb.append("");
- return sb.toString();
- }
}
diff --git a/exam-api/src/main/java/com/bc/exam/core/utils/excel/ExportExcel.java b/exam-api/src/main/java/com/bc/exam/core/utils/excel/ExportExcel.java
deleted file mode 100644
index 99d26ff..0000000
--- a/exam-api/src/main/java/com/bc/exam/core/utils/excel/ExportExcel.java
+++ /dev/null
@@ -1,402 +0,0 @@
-/**
- * Copyright © 2015-2020 JeePlus All rights reserved.
- */
-package com.bc.exam.core.utils.excel;
-
-import com.google.common.collect.Lists;
-import com.bc.exam.core.utils.Reflections;
-import com.bc.exam.core.utils.excel.annotation.ExcelField;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.CellStyle;
-import org.apache.poi.ss.usermodel.Comment;
-import org.apache.poi.ss.usermodel.DataFormat;
-import org.apache.poi.ss.usermodel.Font;
-import org.apache.poi.ss.usermodel.IndexedColors;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.Workbook;
-import org.apache.poi.ss.util.CellRangeAddress;
-import org.apache.poi.xssf.streaming.SXSSFWorkbook;
-import org.apache.poi.xssf.usermodel.XSSFClientAnchor;
-import org.apache.poi.xssf.usermodel.XSSFRichTextString;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.net.URLEncoder;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * 导出Excel文件(导出“XLSX”格式,支持大数据量导出 @see org.apache.poi.ss.SpreadsheetVersion)
- * @author chenhaodong
- * @version 2016-04-21
- */
-public class ExportExcel {
-
- private static Logger log = LoggerFactory.getLogger(ExportExcel.class);
-
- /**
- * 工作薄对象
- */
- private SXSSFWorkbook wb;
-
- /**
- * 工作表对象
- */
- private Sheet sheet;
-
- /**
- * 样式列表
- */
- private Map styles;
-
- /**
- * 当前行号
- */
- private int rownum;
-
- /**
- * 注解列表(Object[]{ ExcelField, Field/Method })
- */
- List