当前位置: 首页> 文旅> 艺术 > 编程学校_企业网站的建设怎么收费_游戏推广员平台_网站推广是做什么的

编程学校_企业网站的建设怎么收费_游戏推广员平台_网站推广是做什么的

时间:2025/7/14 8:30:35来源:https://blog.csdn.net/codeSmart/article/details/143209873 浏览次数:0次
编程学校_企业网站的建设怎么收费_游戏推广员平台_网站推广是做什么的

导出excel

String targetTimeZoneId = StringUtilsPlus.defaultIfBlank(TimeZoneIdContext.getTimeZoneId().get(),ZoneIdEnum.CTT.getZoneIdName());EasyExcel.write(file, Excel.class).registerConverter(new EasyExcelDateTimeZoneStringConverter(ZoneIdEnum.CTT.getZoneIdName(),targetTimeZoneId)).registerConverter(new EasyExcelDateDateConverter(ZoneIdEnum.CTT.getZoneIdName(),targetTimeZoneId)).registerConverter(new EasyExcelDateNumberConverter(ZoneIdEnum.CTT.getZoneIdName(),targetTimeZoneId)).registerConverter(new EasyExcelLocalDateTimeZoneStringConverter(ZoneIdEnum.CTT.getZoneIdName(),targetTimeZoneId)).registerConverter(new EasyExcelLocalDateTimeNumberConverter(ZoneIdEnum.CTT.getZoneIdName(),targetTimeZoneId)).registerConverter(new EasyExcelLocalDateTimeDateConverter(ZoneIdEnum.CTT.getZoneIdName(),targetTimeZoneId)).sheet("测试时区转化").doWrite(excelList);

导入excel

String sourceTimeZoneId = StringUtilsPlus.defaultIfBlank(TimeZoneIdContext.getTimeZoneId().get(),ZoneIdEnum.CTT.getZoneIdName());
//读取ExcelDataListener excelDataListener = new ExcelDataListener();EasyExcel.read(read,Excel.class,excelDataListener).registerConverter(new EasyExcelDateNumberConverter(sourceTimeZoneId,ZoneIdEnum.CST.getZoneIdName())).registerConverter(new EasyExcelDateTimeZoneStringConverter(sourceTimeZoneId,ZoneIdEnum.CTT.getZoneIdName())).registerConverter(new EasyExcelLocalDateTimeZoneStringConverter(sourceTimeZoneId,ZoneIdEnum.CTT.getZoneIdName())).registerConverter(new EasyExcelLocalDateTimeNumberConverter(sourceTimeZoneId,ZoneIdEnum.CTT.getZoneIdName())).doReadAll();

Date 解析器

public class EasyExcelDateDateConverter extends DateDateConverter {/*** 来源时区*/private String sourerTimeZoneId;/*** 目标时区*/private String targetTimeZoneId;public EasyExcelDateDateConverter(String sourerTimeZoneId,String targetTimeZoneId) {super();this.sourerTimeZoneId = sourerTimeZoneId;this.targetTimeZoneId = targetTimeZoneId;}@Overridepublic WriteCellData<?> convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {String format = null;if (contentProperty != null && contentProperty.getDateTimeFormatProperty() != null) {format = contentProperty.getDateTimeFormatProperty().getFormat();}else{format = DateUtils.defaultDateFormat;}value = TimeZoneUtil.convertTimeZoneDate(value, this.sourerTimeZoneId,this.targetTimeZoneId,format);WriteCellData<?> cellData = new WriteCellData(value);WorkBookUtil.fillDataFormat(cellData, format, DateUtils.defaultDateFormat);return cellData;}
}
public class EasyExcelDateNumberConverter extends DateNumberConverter {/*** 来源时区*/private String sourerTimeZoneId;/*** 目标时区*/private String targetTimeZoneId;public EasyExcelDateNumberConverter(String sourerTimeZoneId,String targetTimeZoneId) {super();this.sourerTimeZoneId = sourerTimeZoneId;this.targetTimeZoneId = targetTimeZoneId;}@Overridepublic Date convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {Date date = contentProperty != null && contentProperty.getDateTimeFormatProperty() != null ? DateUtils.getJavaDate(cellData.getNumberValue().doubleValue(), contentProperty.getDateTimeFormatProperty().getUse1904windowing()) : DateUtils.getJavaDate(cellData.getNumberValue().doubleValue(), globalConfiguration.getUse1904windowing());String format =  contentProperty != null && contentProperty.getDateTimeFormatProperty() != null ?contentProperty.getDateTimeFormatProperty().getFormat():DateUtils.DATE_FORMAT_19;return TimeZoneUtil.convertTimeZoneDate(date, this.sourerTimeZoneId,this.targetTimeZoneId,format);}@Overridepublic WriteCellData<?> convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {String format =  contentProperty != null && contentProperty.getDateTimeFormatProperty() != null ?contentProperty.getDateTimeFormatProperty().getFormat():DateUtils.DATE_FORMAT_19;value = TimeZoneUtil.convertTimeZoneDate(value, this.sourerTimeZoneId,this.targetTimeZoneId,format);return contentProperty != null && contentProperty.getDateTimeFormatProperty() != null ? new WriteCellData(BigDecimal.valueOf(DateUtil.getExcelDate(value, contentProperty.getDateTimeFormatProperty().getUse1904windowing()))) : new WriteCellData(BigDecimal.valueOf(DateUtil.getExcelDate(value, globalConfiguration.getUse1904windowing())));}
}
public class EasyExcelDateTimeZoneStringConverter extends DateStringConverter {/*** 来源时区*/private String sourerTimeZoneId;/*** 目标时区*/private String targetTimeZoneId;public EasyExcelDateTimeZoneStringConverter(String sourerTimeZoneId,String targetTimeZoneId) {super();this.sourerTimeZoneId = sourerTimeZoneId;this.targetTimeZoneId = targetTimeZoneId;}/*** 时间值转化String* @param value* @param contentProperty* @param globalConfiguration* @return*/@Overridepublic WriteCellData<?> convertToExcelData(Date value, ExcelContentProperty contentProperty,GlobalConfiguration globalConfiguration) {String format =  contentProperty != null && contentProperty.getDateTimeFormatProperty() != null ?contentProperty.getDateTimeFormatProperty().getFormat():DateUtils.DATE_FORMAT_19;String dateValue =  DateUtils.format(value, format);dateValue = TimeZoneUtil.convertTimeZoneDateStr(dateValue, this.sourerTimeZoneId,this.targetTimeZoneId,format);return  new WriteCellData(dateValue);}/*** 将单元格数据转换为Java日期类型* 此方法重写自父类,用于具体处理日期类型的转换** @param cellData 单元格数据,包含从Excel单元格中读取的数据信息* @param contentProperty Excel内容属性,用于处理与内容相关的属性* @param globalConfiguration 全局配置,包含整个Excel读取过程的全局设置* @return Date 转换后的Java日期对象* @throws ParseException 如果转换过程中出现解析异常*/@Overridepublic Date convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty,GlobalConfiguration globalConfiguration)  {String format =  contentProperty != null && contentProperty.getDateTimeFormatProperty() != null ?contentProperty.getDateTimeFormatProperty().getFormat():DateUtils.DATE_FORMAT_19;String dateValue =  cellData.getStringValue();Date date = TimeZoneUtil.convertTimeZoneDate(dateValue, this.sourerTimeZoneId,this.targetTimeZoneId,format);return date;}
}

LocalDateTime 解析器

public class EasyExcelLocalDateTimeDateConverter extends LocalDateTimeDateConverter {/*** 来源时区*/private String sourerTimeZoneId;/*** 目标时区*/private String targetTimeZoneId;public EasyExcelLocalDateTimeDateConverter(String sourerTimeZoneId,String targetTimeZoneId) {super();this.sourerTimeZoneId = sourerTimeZoneId;this.targetTimeZoneId = targetTimeZoneId;}@Overridepublic WriteCellData<?> convertToExcelData(LocalDateTime value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {String format = null;if (contentProperty != null && contentProperty.getDateTimeFormatProperty() != null) {format = contentProperty.getDateTimeFormatProperty().getFormat();}else{format= DateUtils.defaultDateFormat;}value = TimeZoneUtil.convertTimeZoneLocalDateTime(value, this.sourerTimeZoneId,this.targetTimeZoneId);WriteCellData<?> cellData = new WriteCellData(value);WorkBookUtil.fillDataFormat(cellData, format, DateUtils.defaultDateFormat);return cellData;}
}
public class EasyExcelLocalDateTimeNumberConverter extends LocalDateTimeNumberConverter {/*** 来源时区*/private String sourerTimeZoneId;/*** 目标时区*/private String targetTimeZoneId;public EasyExcelLocalDateTimeNumberConverter(String sourerTimeZoneId,String targetTimeZoneId) {super();this.sourerTimeZoneId = sourerTimeZoneId;this.targetTimeZoneId = targetTimeZoneId;}@Overridepublic LocalDateTime convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {LocalDateTime localDateTime = contentProperty != null && contentProperty.getDateTimeFormatProperty() != null ? DateUtils.getLocalDateTime(cellData.getNumberValue().doubleValue(), contentProperty.getDateTimeFormatProperty().getUse1904windowing()) : DateUtils.getLocalDateTime(cellData.getNumberValue().doubleValue(), globalConfiguration.getUse1904windowing());return TimeZoneUtil.convertTimeZoneLocalDateTime(localDateTime, sourerTimeZoneId,targetTimeZoneId);}@Overridepublic WriteCellData<?> convertToExcelData(LocalDateTime value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {value = TimeZoneUtil.convertTimeZoneLocalDateTime(value, sourerTimeZoneId,targetTimeZoneId);return contentProperty != null && contentProperty.getDateTimeFormatProperty() != null ? new WriteCellData(BigDecimal.valueOf(DateUtil.getExcelDate(value, contentProperty.getDateTimeFormatProperty().getUse1904windowing()))) : new WriteCellData(BigDecimal.valueOf(DateUtil.getExcelDate(value, globalConfiguration.getUse1904windowing())));}
}
public class EasyExcelLocalDateTimeZoneStringConverter extends LocalDateTimeStringConverter {/*** 来源时区*/private String sourerTimeZoneId;/*** 目标时区*/private String targetTimeZoneId;public EasyExcelLocalDateTimeZoneStringConverter(String sourerTimeZoneId,String targetTimeZoneId) {super();this.sourerTimeZoneId = sourerTimeZoneId;this.targetTimeZoneId = targetTimeZoneId;}/*** 将单元格数据转换为Java LocalDateTime对象* 此方法主要用于处理Excel单元格中的日期时间数据,将其转换为Java的LocalDateTime对象* 它考虑了时区的转换,以确保日期时间的准确性** @param cellData 单元格数据,包含要转换的日期时间字符串* @param contentProperty Excel内容属性,未在此方法中使用,但可能在将来或在实现的接口中需要* @param globalConfiguration 全局配置,提供有关如何处理Excel数据的配置信息* @return LocalDateTime对象,表示转换后的日期和时间如果输入为null,则返回null* @throws Exception 如果转换过程中发生错误,则抛出异常*/@Overridepublic LocalDateTime convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty,GlobalConfiguration globalConfiguration)  {// 检查输入的单元格数据是否为nullif(cellData==null){// 如果单元格数据为null,则返回nullreturn  null;}// 使用时区工具类转换日期时间字符串考虑到源时区和目标时区,以获得正确的LocalDateTime对象LocalDateTime localDateTime  = TimeZoneUtil.convertTimeZoneLocalDateTime(cellData.getStringValue(), this.sourerTimeZoneId,this.targetTimeZoneId);// 返回转换后的LocalDateTime对象return localDateTime;}/*** 将LocalDateTime类型的值转换为Excel中的单元格数据* 此方法主要用于处理日期时间数据在Java对象与Excel表格之间的转换和格式化** @param value 需要转换的LocalDateTime值如果为null,则返回包含null值的WriteCellData对象* @param contentProperty Java对象中的Excel内容属性,用于获取日期时间的格式信息* @param globalConfiguration 全局配置,尚未使用,但可能在未来扩展中用于控制转换行为* @return 返回一个WriteCellData对象,包含格式化后的日期时间字符串* @throws Exception 如果转换过程中发生错误,则抛出异常*/@Overridepublic WriteCellData<?> convertToExcelData(LocalDateTime value, ExcelContentProperty contentProperty,GlobalConfiguration globalConfiguration)  {// 如果输入值为null,直接返回包含null值的WriteCellData对象,无需进一步处理if(value==null){return  new WriteCellData(value);}// 根据contentProperty中的配置获取日期时间格式,如果没有配置或配置为空,则使用默认格式String format =  contentProperty != null && contentProperty.getDateTimeFormatProperty() != null ?contentProperty.getDateTimeFormatProperty().getFormat():DateUtils.DATE_FORMAT_19;// 转换时区,将源时区的LocalDateTime值转换为目标时区的LocalDateTime值value = TimeZoneUtil.convertTimeZoneLocalDateTime(value, this.sourerTimeZoneId,this.targetTimeZoneId);// 使用DateTimeFormatter根据指定的格式将转换后的LocalDateTime值格式化为字符串,并包装到WriteCellData对象中返回return  new WriteCellData(value.format(DateTimeFormatter.ofPattern(format)));}
}
关键字:编程学校_企业网站的建设怎么收费_游戏推广员平台_网站推广是做什么的

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: