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

asp做的网站企业名称怎么取名

asp做的网站,企业名称怎么取名,外卖网站开发背景,网站开发 男生通过easyexcel导出列表数据 根据列表内容自适应宽高。 文件名冲突&#xff0c;修改文件名递增设置。 依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>${easyexcel.version}</version&…

通过easyexcel导出列表数据

根据列表内容自适应宽高。

文件名冲突,修改文件名递增设置。

依赖

            <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>${easyexcel.version}</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel-core</artifactId><version>${easyexcel.version}</version><scope>compile</scope></dependency>
  <easyexcel.version>3.3.2</easyexcel.version>

 具体实现

 public void export() {//获取列表集合,根据自己业务逻辑获取List<Api> 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 Map<Integer, Map<Integer, Integer>> CACHE = new HashMap<>();@Overrideprotected void setColumnWidth(WriteSheetHolder writeSheetHolder, List<WriteCellData<?>> cellDataList, Cell cell, Head head, Integer integer,Boolean isHead) {boolean needSetWidth = isHead || !cellDataList.isEmpty();if (needSetWidth) {Map<Integer, 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(List<WriteCellData<?>> 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) {Iterator<Cell> 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.yayakq.cn/news/571796/

相关文章:

  • 小鱼儿网站做啥用的免费网站开发模板
  • 企业网站建立答辩问题微博上如何做网站推广
  • 网站商城网络整合营销常平到东莞
  • 网站用什么格式做网络互联网推广
  • 网站的上传与发布seo页面优化的方法
  • 淘宝网站用什么语言做的烟台网站建设 共赢
  • 微信生活门户网站源码什么软件比百度搜索好
  • 创造你魔法官方网站起做欢的事龙江网站建设
  • 企业网站运营推广老铁seo外链工具
  • 如何向搜索引擎提交网站wordpress 所有文章404
  • 广州网站设计成功柚米有没有做美食的小视频网站
  • 网上购物网站建设方案保健品网站建设方案书模板
  • 电商网站 性能目标有哪些辽宁造价工程造价信息网
  • 建设银行官方网站注册长沙专业网站制作设计
  • 国内最大网站制作公司创建全国文明城市总结
  • 网站服务器设置简述建设一个网站的基本步骤
  • 简单网页制作成品代码网站设计 网站开发 优化
  • 手机公司网站建设网站 流程优化
  • 西安网站建设模板手机软件下载大全
  • 做网站维护需要什么证书网络推广优化工具
  • 苏州营销型网站制作多少钱上海外贸人才网
  • 做网站找公司怎么找hao123网址之家官网之手机版
  • 企业做网站的费用如何科目沈阳网站设计培训班
  • 没有公网ip做网站查询网站服务商
  • 网站建设费属于哪个会计科目网站的建设服务器
  • 企业网站备案怎么做seo网站搭建是什么
  • 电子政务网站建设总结网页设计作业的英文
  • 达州网站建设qinsanw网站建设的需求怎么写
  • 做一些网站犯法么做o2o网站需要多少钱
  • wordpress首页没有显示文章图片东莞债务优化