当前位置: 首页 > news >正文

网站后台没有编辑器湖州网站做等保费用

网站后台没有编辑器,湖州网站做等保费用,专做英文类网站,企业站用wordpress做好吗概述 主要记录在开发中遇到的问题#xff1a;使用easyexcel导出excel#xff0c;一般数据都是保存在数据库中#xff0c;如果查询返回的是一个实体类#xff0c;且里面有嵌套的实体类对象#xff0c;这时导出的时候要先对查询出的数据进行业务逻辑处理#xff0c;让它符…概述 主要记录在开发中遇到的问题使用easyexcel导出excel一般数据都是保存在数据库中如果查询返回的是一个实体类且里面有嵌套的实体类对象这时导出的时候要先对查询出的数据进行业务逻辑处理让它符合导出规范但是当数据量很大时容易jvm内存easyexcel(CellDataTypeEnum)只支持基本数据类型的导入如图1-1所示可以通过自定义数据类型(Converter)进行转换但是这样只能返回一种基本的数据类型像这种实体类里面通常会有很多信息如果都要导出这种方式也不合适。目前我能想到的方式是通过它提供的各种拦截器处理大概流程如下 通过自定义数据类型将实体类转换为String类型然后通过拦截器将字符串拆分添加对应列的数据。 图1-1 excel内部支持的数据类型 代码展示 excel日期转换类 import com.alibaba.excel.converters.Converter; import com.alibaba.excel.converters.WriteConverterContext; import com.alibaba.excel.enums.CellDataTypeEnum; import com.alibaba.excel.metadata.data.WriteCellData;import java.text.SimpleDateFormat; import java.util.Date;/*** Description excel日期转换类 即将Mongo中类型为long的时间戳转化为yyyy-MM-dd HH:mm:ss时间* author HuangAnting* date 2022/4/8 10:16 */ public class DateConverter implements ConverterLong {Overridepublic Class? supportJavaTypeKey() {//对象属性类型return Long.class;}Overridepublic CellDataTypeEnum supportExcelTypeKey() {//CellData属性类型return CellDataTypeEnum.STRING;}Overridepublic WriteCellData? convertToExcelData(WriteConverterContextLong context) throws Exception {//对象属性转CellDataLong cellValue context.getValue();new SimpleDateFormat(yyyy-MM-dd HH:mm:ss).format(new Date(cellValue));if (cellValue null) {return new WriteCellData();} else {return new WriteCellData( new SimpleDateFormat(yyyy-MM-dd HH:mm:ss).format(new Date(cellValue)));}} }自增序号拦截器 import com.alibaba.excel.write.handler.RowWriteHandler; import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; import com.alibaba.excel.write.metadata.holder.WriteTableHolder; import org.apache.poi.ss.usermodel.*;/*** Description 自增序号拦截器* author HuangAnting* date 2022/4/12 17:27 */ public class IndexRowWriteHandler implements RowWriteHandler {private static final String FIRST_CELL_NAME 序号;/*** 序号的样式与其他列保持一样的样式*/private CellStyle firstCellStyle;private String description;/*** 列号*/private int count 0;public IndexRowWriteHandler(String description){this.description description;}Overridepublic void afterRowDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, Integer relativeRowIndex, Boolean isHead) {// 每一行首列单元格Cell indexCell row.createCell(0);if(!isHead){indexCell.setCellValue(count);try {row.getCell(3).setCellValue(description);}catch (Exception e){}}else {Workbook workbook writeSheetHolder.getSheet().getWorkbook();firstCellStyle firstCellStyle(workbook);indexCell.setCellValue(FIRST_CELL_NAME);indexCell.setCellStyle(firstCellStyle);writeSheetHolder.getSheet().setColumnWidth(0, 6 * 256);}}/*** excel首列序号列样式* param workbook* return*/public CellStyle firstCellStyle(Workbook workbook) {CellStyle cellStyle workbook.createCellStyle();//居中cellStyle.setAlignment(HorizontalAlignment.CENTER);cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);// 灰色cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());//设置边框cellStyle.setBorderBottom(BorderStyle.THIN);cellStyle.setBorderLeft(BorderStyle.THIN);cellStyle.setBorderRight(BorderStyle.THIN);cellStyle.setBorderTop(BorderStyle.THIN);//文字Font font workbook.createFont();font.setBold(Boolean.TRUE);cellStyle.setFont(font);return cellStyle;} }实体类 import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.hat.easyexcel_export.excel.DateConverter; import com.hat.easyexcel_export.excel.MonPointConverter; import lombok.Data;/*** Description 导出实体类* author HuangAnting* date 2022/4/12 17:26 */ Data public class Car {/** 名称*/ExcelProperty(value 名称,index 1)private String name;/** 价格*/ExcelProperty(value 价格,index 2)private Double price;/** 描述*/ColumnWidth(15)ExcelProperty(value 描述,index 3)private String description;/** 坐标*/ExcelProperty(value 坐标,converter MonPointConverter.class,index 4)private MonPoint monPoint;/** 日期*/ExcelProperty(value 日期,converter DateConverter.class)private Long createDate; }自定义对象拦截器import com.alibaba.excel.write.handler.RowWriteHandler; import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; import com.alibaba.excel.write.metadata.holder.WriteTableHolder; import com.alibaba.fastjson.JSONObject; import com.hat.easyexcel_export.entity.MonPoint; import org.apache.poi.ss.usermodel.*;/*** Description 行拦截器 将字符串的经纬度转换成两列数据* author HuangAnting* date 2022/4/12 17:26 */ public class CustomRowWriteHandler implements RowWriteHandler {/*** 序号的样式与其他列保持一样的样式*/private CellStyle firstCellStyle;private static final String LON_CELL_NAME 经度;private static final String LAT_CELL_NAME 纬度;/*** 列号*/Overridepublic void afterRowDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, Integer integer, Boolean isHead) {Cell cell row.getCell(4);row.removeCell(cell);Cell lon row.createCell(4);Cell lat row.createCell(5);if (!isHead) {String stringCellValue cell.getStringCellValue();try {MonPoint monPoint JSONObject.parseObject(stringCellValue, MonPoint.class);lon.setCellValue(monPoint.getLon());lat.setCellValue(monPoint.getLat());}catch (Exception e){}}else {Workbook workbook writeSheetHolder.getSheet().getWorkbook();firstCellStyle firstCellStyle(workbook);lon.setCellStyle(firstCellStyle);lat.setCellStyle(firstCellStyle);lon.setCellValue(LON_CELL_NAME);lat.setCellValue(LAT_CELL_NAME);}}/*** excel首列序号列样式** param workbook* return*/public CellStyle firstCellStyle(Workbook workbook) {CellStyle cellStyle workbook.createCellStyle();//居中cellStyle.setAlignment(HorizontalAlignment.CENTER);cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);// 灰色cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());//设置边框cellStyle.setBorderBottom(BorderStyle.THIN);cellStyle.setBorderLeft(BorderStyle.THIN);cellStyle.setBorderRight(BorderStyle.THIN);cellStyle.setBorderTop(BorderStyle.THIN);//文字Font font workbook.createFont();font.setBold(Boolean.TRUE);cellStyle.setFont(font);return cellStyle;} }gitee地址easyexcel_export 以上仅代表本人对easyexcel的认识和了解欢迎大家批评指正。
http://www.zqtcl.cn/news/34964/

相关文章:

  • 做网站备案谁做做网店运营新手入门教程
  • 电子科技网站模板百度公司销售卖什么的
  • 自家电脑做网站服务器w7花生壳网站建设对于企业的必要性
  • 大连网站制作案例给别人做网站怎么收取费用
  • 建网站用什么系统好管理咨询公司招聘
  • 用哪个网站做首页比较好个人备案 什么网站
  • 门户网站 jspwordpress安卓下载
  • 深圳的设计网站大全wordpress声明插件
  • 佛山专业做网站公司哪家好个人怎么注册网站
  • 网站制作大型公司孝感网站开发找优搏
  • 什么做书籍的网站好应用软件商店
  • wordpress 动作惠州seo外包费用
  • 医院网站建设与维护题库网站app搭建
  • 厦门做网站优化的公司广南网站建设
  • 校园新主页网站的建设wordpress自动轮播图插件下载
  • 要做未来科技的网站怎么做淮北网站网站建设
  • 网站宣传的方式html网页模板大全
  • 大鹏外贸网站建设wordpress包下载失败
  • 怎么做国外的网站厦门市建设局加装电梯公示网站
  • 广告留电话号的网站soso搜搜网站收录提交入口
  • 个人网站模板设计步骤wordpress点击图片放大
  • 网站开发如何处理兼容性问题wordpress metaslider
  • 茶楼网站模板广西住房和城乡建设厅
  • 五金网站方案湖南省住房和城乡建设厅官方网站
  • 营销型网站建设的费用报价单网站建设 技术 哪些方面
  • 企业做网站价钱动画制作培训学院
  • 网站多久才会被收录南靖企业网站建设公司
  • 网站的建设与设计论文怎样修改静态公司网站页面电话
  • 简繁英3合1企业网站生成管理系统V1.6网站开发与应用 大作业作业
  • 现在主流网站用什么做的如何鉴别网站有没有做301重定向