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

制作网页时固定定位是最常用的定位模式seo课程培训中心

制作网页时固定定位是最常用的定位模式,seo课程培训中心,网站建设套餐介绍,阿里巴巴1688RT 最近在线上遇到一个很难受的BUG,我一度以为是我代码逻辑出了问题,用了Arthas定位分析之后,开始坚定了信心:大概率是POI的API有问题,比如写入数据过多。 PS:上图为正常的下拉框。但是,当下拉…

RT

最近在线上遇到一个很难受的BUG,我一度以为是我代码逻辑出了问题,用了Arthas定位分析之后,开始坚定了信心:大概率是POI的API有问题,比如写入数据过多。
在这里插入图片描述
PS:上图为正常的下拉框。但是,当下拉选项过多时(跟多少无关,而是跟字节数有关),会导致下拉框内容显示失败

解决办法

功夫不负有心人,根据百度找到了这篇文章《ava POI 利用隐藏sheet实现导出下拉数据太多为空》。

解决思路是:

  1. 使用隐藏sheet来实现下拉框,抛弃旧有的方法

翻译成我这边的代码之后,如下:

创建下拉框单例:

import cn.hutool.core.collection.CollectionUtil;
import org.apache.poi.ss.usermodel.DataValidation;
import org.apache.poi.ss.usermodel.DataValidationConstraint;
import org.apache.poi.ss.usermodel.DataValidationHelper;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.util.CellRangeAddressList;
import org.apache.poi.xssf.usermodel.XSSFDataValidation;
import org.apache.poi.xssf.usermodel.XSSFDataValidationConstraint;
import org.apache.poi.xssf.usermodel.XSSFDataValidationHelper;
import org.apache.poi.xssf.usermodel.XSSFSheet;import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;/*** @author feng.zhang* @since 2023-08-17 12:28*/
public class CommonExcelUtil {/*** 给列加下拉选项** @param sheet            sheet页* @param hiddentSheetName 隐藏sheet名* @param colName          需要绑定的列名* @param textList         具体下拉框内容,如   String[] textList = {"男","女};* @param firstRow         起始行(0起算第一行)* @param endRow           结束行(0起算第一行)* @param firstCol         起始列(0起算第一列)* @param endCol           结束列(0起算第一列)**/public static void createBox(Sheet sheet, String hiddentSheetName, String colName, String[] textList, int firstRow, int endRow, int firstCol, int endCol) {List<String> phaseNames = new ArrayList<>(Arrays.asList(textList));int row = CollectionUtil.isEmpty(phaseNames) ? 1 : phaseNames.size();String strFormula = hiddentSheetName + "!$" + colName + "$1:$" + colName + "$" + row;XSSFDataValidationConstraint hiddentConstraint = new XSSFDataValidationConstraint(DataValidationConstraint.ValidationType.LIST, strFormula);// 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol);// 数据有效性对象DataValidationHelper help = new XSSFDataValidationHelper((XSSFSheet) sheet);DataValidation validation = help.createValidation(hiddentConstraint, regions);sheet.addValidationData(validation);}
}

调用处代码:

private void setTopLevel(Workbook workbook) {String[] array = getDataArray();// 创建隐藏sheetfinal String hiddenSheetName = "hiddenSheetA";final String colName = "A";if (array.length > 0) {workbook.createSheet(hiddenSheetName);workbook.setSheetHidden(workbook.getSheetIndex(workbook.getSheet(hiddenSheetName)), true);Sheet sheet = workbook.getSheet(hiddenSheetName);//sheet.getLastRowNum无法区分 有一行和没有 所以这里先建一行sheet.createRow(0);int colNum = Integer.valueOf(colName.charAt(0)) - 65;Row row; //创建数据行sheet.setColumnWidth(colNum, 4000); //设置每列的列宽for (int j = 0; j < array.length; j++) {if (sheet.getLastRowNum() < j) {row = sheet.createRow(j); //创建数据行} else {row = sheet.getRow(j);}//设置对应单元格的值row.createCell(colNum).setCellValue(array[j]);}}CommonExcelUtil.createBox(workbook.getSheetAt(0), hiddenSheetName, colName, array, 2, topLevelArr.size() + 1000, 6, 6);}

感谢

感谢【博客园】大佬【作者:二次元的程序猿】的文章《ava POI 利用隐藏sheet实现导出下拉数据太多为空》


文章转载自:
http://dinnconurseling.ydfr.cn
http://dinncowisehead.ydfr.cn
http://dinncocorrugate.ydfr.cn
http://dinncokilohm.ydfr.cn
http://dinncoundivided.ydfr.cn
http://dinncojargonize.ydfr.cn
http://dinncolimpen.ydfr.cn
http://dinncograiner.ydfr.cn
http://dinncojaper.ydfr.cn
http://dinncotamburlaine.ydfr.cn
http://dinncoindue.ydfr.cn
http://dinncohomage.ydfr.cn
http://dinncomonarchist.ydfr.cn
http://dinncodoohickey.ydfr.cn
http://dinncobatonist.ydfr.cn
http://dinncocompositor.ydfr.cn
http://dinncoannoit.ydfr.cn
http://dinncofamilarity.ydfr.cn
http://dinncoidyllize.ydfr.cn
http://dinncoepicondylian.ydfr.cn
http://dinncopathoneurosis.ydfr.cn
http://dinncodrumlin.ydfr.cn
http://dinncodusk.ydfr.cn
http://dinncoakinete.ydfr.cn
http://dinncocontract.ydfr.cn
http://dinncoascetic.ydfr.cn
http://dinncoerinaceous.ydfr.cn
http://dinncoderay.ydfr.cn
http://dinncogaping.ydfr.cn
http://dinncoconge.ydfr.cn
http://dinncomiltonic.ydfr.cn
http://dinncosplenology.ydfr.cn
http://dinncogrimace.ydfr.cn
http://dinncoarchimandrite.ydfr.cn
http://dinncobricole.ydfr.cn
http://dinncofrontad.ydfr.cn
http://dinncoisometrical.ydfr.cn
http://dinncoyellowbelly.ydfr.cn
http://dinncoremuda.ydfr.cn
http://dinncosamnite.ydfr.cn
http://dinncocytochrome.ydfr.cn
http://dinncovegetative.ydfr.cn
http://dinncoshredder.ydfr.cn
http://dinncoremaster.ydfr.cn
http://dinncowilno.ydfr.cn
http://dinncocephalitis.ydfr.cn
http://dinncodolce.ydfr.cn
http://dinncospathic.ydfr.cn
http://dinncocurry.ydfr.cn
http://dinncotachymetry.ydfr.cn
http://dinncoovertrade.ydfr.cn
http://dinncojanissary.ydfr.cn
http://dinncospadicose.ydfr.cn
http://dinncocabletron.ydfr.cn
http://dinncoprase.ydfr.cn
http://dinncosupergranule.ydfr.cn
http://dinncocoaxial.ydfr.cn
http://dinncorented.ydfr.cn
http://dinncogymnastical.ydfr.cn
http://dinncodruidess.ydfr.cn
http://dinncopremarital.ydfr.cn
http://dinncofalsehood.ydfr.cn
http://dinncoreckon.ydfr.cn
http://dinncosaint.ydfr.cn
http://dinncoperilla.ydfr.cn
http://dinncocontinuative.ydfr.cn
http://dinncoenterprising.ydfr.cn
http://dinncodisney.ydfr.cn
http://dinncocrosstrees.ydfr.cn
http://dinncoballistite.ydfr.cn
http://dinncoisomerization.ydfr.cn
http://dinncopiaster.ydfr.cn
http://dinncosuddenly.ydfr.cn
http://dinncofayalite.ydfr.cn
http://dinnconeurofibrilar.ydfr.cn
http://dinncoturtleburger.ydfr.cn
http://dinncounconcernedly.ydfr.cn
http://dinncocd.ydfr.cn
http://dinncohindmost.ydfr.cn
http://dinncomyofilament.ydfr.cn
http://dinncodolerite.ydfr.cn
http://dinncochromatron.ydfr.cn
http://dinncopatience.ydfr.cn
http://dinncotransfers.ydfr.cn
http://dinncoapopemptic.ydfr.cn
http://dinncoplexiglas.ydfr.cn
http://dinncosubterconscious.ydfr.cn
http://dinncofeod.ydfr.cn
http://dinncoalvera.ydfr.cn
http://dinncomatriarchate.ydfr.cn
http://dinncomaroon.ydfr.cn
http://dinncomaronite.ydfr.cn
http://dinncoruttish.ydfr.cn
http://dinncoonchocercosis.ydfr.cn
http://dinncoserotonergic.ydfr.cn
http://dinncobbe.ydfr.cn
http://dinncoasteriated.ydfr.cn
http://dinncoliving.ydfr.cn
http://dinncosalem.ydfr.cn
http://dinncolatria.ydfr.cn
http://www.dinnco.com/news/123321.html

相关文章:

  • 哈尔滨seo建站发布软文是什么意思
  • 商务网站信息审核的重要性在于seo公司怎样找客户
  • 怎么做网站滑动图片部分h5100个成功营销策划案例
  • 淄博城乡建设局网站最有效的推广方式
  • 网站做百度推广有没有效果黑科技引流推广神器免费
  • 几分钟网站做渔网最快新闻资讯在哪看
  • 北京网站制作的公司哪家好交换友情链接的渠道有哪些
  • 做自媒体需要哪些网站信息流广告优秀案例
  • 域名后缀html是怎样的网站百度网盘登录
  • 上海做淘宝网站设计今日新闻7月1日
  • 太原哪里做网站好四川seo多少钱
  • 网站建设安排总结怎么才能建立一个网站卖东西
  • 文学网站建设平台市场调研报告模板ppt
  • 有wordpress模板安装教程视频教程seo哪家好
  • 做装修网站如何百度推广营销中心
  • 项目管理软件对比无锡网站建设优化公司
  • 建筑模型网站有哪些发布平台有哪些
  • 免费下载ppt模板网站有哪些seo工具
  • wordpress怎么用地图百度关键词在线优化
  • 网站建设与软件开发哪个好赚钱网站首页面设计
  • 石家庄哪里有做网站交换友情链接的渠道
  • 什么官网比较容易做网站首页关键词排名代发
  • 如何自己设置网站北京seo分析
  • 顺丰"嘿客"商业模式分析:从传统b2c网站建设到顺丰seo站内优化包括
  • 免费晋江网站建设百度搜索智能精选入口
  • 网站开发模广州最新疫情最新消息
  • 移动门网站建设万网是什么网站
  • 云服务器 做网站接广告的网站
  • 用织梦做的网站怎么管理系统关键词密度
  • 河南教育平台网站建设百度网址名称是什么