From 447ca0ba704d3eca4a8b9a11e0f2bda7b13524c8 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期五, 01 十月 2021 06:28:25 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/test' into test
---
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/ExcelSelectListUtil.java | 75 ++++++++++++++++++-------------------
1 files changed, 36 insertions(+), 39 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/ExcelSelectListUtil.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/ExcelSelectListUtil.java
index d821af0..5957f55 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/ExcelSelectListUtil.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/ExcelSelectListUtil.java
@@ -11,57 +11,54 @@
private ExcelSelectListUtil() {
throw new IllegalStateException("Utility class");
}
+
/**
- * firstRow 開始行號 根据此项目,默认为2(下标0开始)
- * lastRow 根据此项目,默认为最大65535
- * firstCol 区域中第一个单元格的列号 (下标0开始)
- * lastCol 区域中最后一个单元格的列号
+ * firstRow 開始行號 根据此项目,默认为2(下标0开始) lastRow 根据此项目,默认为最大65535 firstCol 区域中第一个单元格的列号 (下标0开始) lastCol 区域中最后一个单元格的列号
* strings 下拉内容
- * */
- public static void selectList(Workbook workbook, int firstCol, int lastCol, String[] strings){
+ */
+ public static void selectList(Workbook workbook, int firstCol, int lastCol, String[] strings) {
int charLenth = stringArrayLength(strings);
- int arraylLenth=strings.length;
- if(charLenth+arraylLenth>=255){
- Sheet sheet = workbook.getSheetAt(0);
- //解决下拉超过255个字符的问题
- String hiddenSheet="hidden"+firstCol;
- Sheet category1Hidden = workbook.createSheet(hiddenSheet);
- for (int i = 0, length = strings.length; i < length; i++) {
- // 循环赋值(为了防止下拉框的行数与隐藏域的行数相对应来获取>=选中行数的数组,将隐藏域加到结束行之后)
- category1Hidden.createRow(i).createCell(0).setCellValue(strings[i]);
- }
- Name category1Name = workbook.createName();
- category1Name.setNameName(hiddenSheet);
- category1Name.setRefersToFormula(hiddenSheet+"!$A$1:$A$" + strings.length);
- // A1:A代表隐藏域创建第?列createCell(?)时。以A1列开始A行数据获取下拉数组
- // 生成下拉列表
- // 只对(x,x)单元格有效
- CellRangeAddressList cellRangeAddressList = new CellRangeAddressList(2, 65535, firstCol, lastCol);
- // 生成下拉框内容
- DVConstraint dvConstraint = DVConstraint.createFormulaListConstraint(hiddenSheet);
- HSSFDataValidation dataValidation = new HSSFDataValidation(cellRangeAddressList, dvConstraint);
- // 对sheet页生效
- workbook.setSheetHidden(1,true);
- sheet.addValidationData(dataValidation);
- }else{
+ int arraylLenth = strings.length;
+ if (charLenth + arraylLenth >= 255) {
Sheet sheet = workbook.getSheetAt(0);
- // 生成下拉列表
- // 只对(x,x)单元格有效
+ // 解决下拉超过255个字符的问题
+ String hiddenSheet = "hidden" + firstCol;
+ Sheet category1Hidden = workbook.createSheet(hiddenSheet);
+ for (int i = 0, length = strings.length; i < length; i++) {
+ // 循环赋值(为了防止下拉框的行数与隐藏域的行数相对应来获取>=选中行数的数组,将隐藏域加到结束行之后)
+ category1Hidden.createRow(i).createCell(0).setCellValue(strings[i]);
+ }
+ Name category1Name = workbook.createName();
+ category1Name.setNameName(hiddenSheet);
+ category1Name.setRefersToFormula(hiddenSheet + "!$A$1:$A$" + strings.length);
+ // A1:A代表隐藏域创建第?列createCell(?)时。以A1列开始A行数据获取下拉数组
+ // 生成下拉列表
+ // 只对(x,x)单元格有效
CellRangeAddressList cellRangeAddressList = new CellRangeAddressList(2, 65535, firstCol, lastCol);
- // 生成下拉框内容
+ // 生成下拉框内容
+ DVConstraint dvConstraint = DVConstraint.createFormulaListConstraint(hiddenSheet);
+ HSSFDataValidation dataValidation = new HSSFDataValidation(cellRangeAddressList, dvConstraint);
+ // 对sheet页生效
+ workbook.setSheetHidden(1, true);
+ sheet.addValidationData(dataValidation);
+ } else {
+ Sheet sheet = workbook.getSheetAt(0);
+ // 生成下拉列表
+ // 只对(x,x)单元格有效
+ CellRangeAddressList cellRangeAddressList = new CellRangeAddressList(2, 65535, firstCol, lastCol);
+ // 生成下拉框内容
DVConstraint dvConstraint = DVConstraint.createExplicitListConstraint(strings);
HSSFDataValidation dataValidation = new HSSFDataValidation(cellRangeAddressList, dvConstraint);
- // 对sheet页生效
+ // 对sheet页生效
sheet.addValidationData(dataValidation);
}
}
- private static int stringArrayLength(String[] args){
- int rs=0;
- for( int i=0 ; i<args.length ; i++ ){
- rs+=args[i].length();
+ private static int stringArrayLength(String[] args) {
+ int rs = 0;
+ for (int i = 0; i < args.length; i++) {
+ rs += args[i].length();
}
return rs;
}
}
-
--
Gitblit v1.7.1