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

制作网页的网站推荐做dj网站

制作网页的网站推荐,做dj网站,淮安做网站服务单位,大学软件开发专业通过easyexcel导出列表数据 根据列表内容自适应宽高。 文件名冲突#xff0c;修改文件名递增设置。 依赖 dependencygroupIdcom.alibaba/groupIdartifactIdeasyexcel/artifactIdversion${easyexcel.version}/version修改文件名递增设置。 依赖 dependencygroupIdcom.alibaba/groupIdartifactIdeasyexcel/artifactIdversion${easyexcel.version}/version/dependencydependencygroupIdcom.alibaba/groupIdartifactIdeasyexcel-core/artifactIdversion${easyexcel.version}/versionscopecompile/scope/dependency easyexcel.version3.3.2/easyexcel.version 具体实现 public void export() {//获取列表集合根据自己业务逻辑获取ListApi list this.list();String fileName 服务发布.xlsx;String filePath getUniqueFilePath(fileName);EasyExcel.write(filePath, ApiExcel.class) .registerWriteHandler(new CustomCellWriteWidthConfig()) //.registerWriteHandler(new CustomCellWriteHeightConfig()) .sheet(服务发布列表).doWrite(list);} 判断文件是否存在。 private static String getUniqueFilePath(String baseFileName) {File file new File(baseFileName);int counter 1;while (file.exists()) {String newFileName String.format(%s(%d).xlsx, baseFileName.replace(.xlsx, ), counter);file new File(newFileName);counter;}return file.getAbsolutePath();} 自适应列宽类 package com.cait.fm.console.common;import com.alibaba.excel.enums.CellDataTypeEnum; import com.alibaba.excel.metadata.Head; import com.alibaba.excel.metadata.data.CellData; import com.alibaba.excel.metadata.data.WriteCellData; import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; import com.alibaba.excel.write.style.column.AbstractColumnWidthStyleStrategy; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Sheet; import java.util.HashMap; import java.util.List; import java.util.Map;/*** author: jg* date: 2024-12-06* description:*/ public class CustomCellWriteWidthConfig extends AbstractColumnWidthStyleStrategy {private final MapInteger, MapInteger, Integer CACHE new HashMap();Overrideprotected void setColumnWidth(WriteSheetHolder writeSheetHolder, ListWriteCellData? cellDataList, Cell cell, Head head, Integer integer,Boolean isHead) {boolean needSetWidth isHead || !cellDataList.isEmpty();if (needSetWidth) {MapInteger, Integer maxColumnWidthMap CACHE.computeIfAbsent(writeSheetHolder.getSheetNo(), k - new HashMap());Integer columnWidth this.dataLength(cellDataList, cell, isHead);if (columnWidth 0) {if (columnWidth 10 columnWidth 20) {columnWidth 20;} else if (columnWidth 10) {columnWidth 10;}Integer maxColumnWidth maxColumnWidthMap.get(cell.getColumnIndex());if (maxColumnWidth null || columnWidth maxColumnWidth) {maxColumnWidthMap.put(cell.getColumnIndex(), columnWidth);Sheet sheet writeSheetHolder.getSheet();sheet.setColumnWidth(cell.getColumnIndex(), 256 * columnWidth 184);}}}}private Integer dataLength(ListWriteCellData? cellDataList, Cell cell, Boolean isHead) {if (isHead) {return cell.getStringCellValue().getBytes().length;} else {CellData? cellData cellDataList.get(0);CellDataTypeEnum type cellData.getType();if (type null) {return -1;} else {switch (type) {case STRING:// 换行符数据需要提前解析好String stringValue cellData.getStringValue();if (stringValue.contains(\n)) {int index stringValue.indexOf(\n);return index ! -1 ? stringValue.substring(0, index).getBytes().length 1 : stringValue.getBytes().length 1;} else if (stringValue.contains(()) {return stringValue.getBytes().length;} else {return stringValue.getBytes().length;}case BOOLEAN:return cellData.getBooleanValue().toString().getBytes().length;case NUMBER:return cellData.getNumberValue().toString().getBytes().length;default:return -1;}}}}}自适应行高 public class CustomCellWriteHeightConfig extends AbstractRowHeightStyleStrategy {/*** 默认高度*/private static final Integer DEFAULT_HEIGHT 300;Overrideprotected void setHeadColumnHeight(Row row, int relativeRowIndex) {}Overrideprotected void setContentColumnHeight(Row row, int relativeRowIndex) {IteratorCell cellIterator row.cellIterator();if (!cellIterator.hasNext()) {return;}// 默认为 1 行高度int maxHeight 1;while (cellIterator.hasNext()) {Cell cell cellIterator.next();if (cell.getCellType() CellType.STRING) {String value cell.getStringCellValue();for (int i 0; i value.length(); i 10) {if (i 10 value.length()) {value value.substring(0, i) \n value.substring(i, i 10) value.substring(i 10);} else {value value.substring(0, i) \n value.substring(i);}}if (value.contains(\n)) {int length value.split(\n).length;maxHeight Math.max(maxHeight, length);}}}row.setHeight((short) (maxHeight * DEFAULT_HEIGHT));}Overridepublic void afterRowDispose(RowWriteHandlerContext context) {if (context.getHead() ! null) {if(ObjectUtils.isEmpty(context.getRelativeRowIndex())){return;}if (Boolean.TRUE.equals(context.getHead())) {this.setHeadColumnHeight(context.getRow(), context.getRelativeRowIndex());} else {this.setContentColumnHeight(context.getRow(), context.getRelativeRowIndex());}}} }
http://www.w-s-a.com/news/789758/

相关文章:

  • 手机h5网站企业网站管理系统的运维服务
  • 南京建设网站公司网站游戏怎么制作
  • 成都建站程序苏州市建设局招标网站首页
  • 自助建网站市场公司起名大全2020最新版的
  • dede网站模板北京 网站开发 大兴
  • 网站优化师招聘建设牌安全带官方网站
  • 南京网站建设网站做视频网站用什么格式
  • 普陀做网站价格wordpress接入qq互联
  • 网站2级页面怎么做杭州哪家做外贸网站
  • 做了静态网站怎么显示在互联网上营销策划与运营方案
  • 常见的英文网站国内军事新闻大事件
  • 傻瓜式做网站程序微信怎么开公众号
  • c2c电商网站wordpress仿36kr主题
  • 网站建设公司开发免费图纸网站
  • 一个网站页面设计多少钱做预算查价格的网站是哪个
  • 鳌江哪里有做网站百度短链接在线生成
  • 有没有什么做水利资料的网站杭州建设信用平台
  • 电子商务网站建设及推广方案论文wordpress无法显示文章
  • 建设工程监理网站前端和后端分别需要学什么
  • 公司网站制作效果国内最好的在线网站建设
  • 徐州好点的做网站的公司有哪些wordpress 工具插件下载
  • 如何用云服务器建设网站微网站免费开发平台
  • 官网的网站设计公司做网站需要准备哪些东西
  • 程序员和做网站那个好找工作wordpress二维码 插件
  • 湖南城市建设技术学院官方网站青海省建设局网站
  • 响应式网站有什么区别百度网站官网
  • 金华企业自助建站系统长沙建站公司模板
  • 云主机 做网站友情链接网站
  • 定制型网站设计天津网站模板建站
  • 为什么公司网站打开很慢wordpress汉化插件