Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
S
sts网站
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liyang
sts网站
Commits
a5adee3c
Commit
a5adee3c
authored
Nov 13, 2025
by
RuoYi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复comboReadDict属性下多个sheet出现的报错(ICWQ8E)
parent
075e9646
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
28 additions
and
9 deletions
+28
-9
ExcelUtil.java
...n/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
+28
-9
No files found.
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
View file @
a5adee3c
...
...
@@ -1238,18 +1238,36 @@ public class ExcelUtil<T>
public
void
setXSSFValidationWithHidden
(
Sheet
sheet
,
String
[]
textlist
,
String
promptContent
,
int
firstRow
,
int
endRow
,
int
firstCol
,
int
endCol
)
{
String
hideSheetName
=
"combo_"
+
firstCol
+
"_"
+
endCol
;
Sheet
hideSheet
=
wb
.
createSheet
(
hideSheetName
);
// 用于存储 下拉菜单数据
Sheet
hideSheet
=
null
;
String
hideSheetDataName
=
hideSheetName
+
"_data"
;
Name
name
=
wb
.
getName
(
hideSheetDataName
);
if
(
name
!=
null
)
{
// 名称已存在,尝试从名称的引用中找到sheet名称
String
refersToFormula
=
name
.
getRefersToFormula
();
if
(
StringUtils
.
isNotEmpty
(
refersToFormula
)
&&
refersToFormula
.
contains
(
"!"
))
{
String
sheetNameFromFormula
=
refersToFormula
.
substring
(
0
,
refersToFormula
.
indexOf
(
"!"
));
hideSheet
=
wb
.
getSheet
(
sheetNameFromFormula
);
}
}
if
(
hideSheet
==
null
)
{
hideSheet
=
wb
.
createSheet
(
hideSheetName
);
// 用于存储 下拉菜单数据
for
(
int
i
=
0
;
i
<
textlist
.
length
;
i
++)
{
hideSheet
.
createRow
(
i
).
createCell
(
0
).
setCellValue
(
textlist
[
i
]);
}
// 创建名称,可被其他单元格引用
Name
name
=
wb
.
createName
();
name
.
setNameName
(
hideSheetName
+
"_data"
);
name
=
wb
.
createName
();
name
.
setNameName
(
hideSheetDataName
);
name
.
setRefersToFormula
(
hideSheetName
+
"!$A$1:$A$"
+
textlist
.
length
);
}
DataValidationHelper
helper
=
sheet
.
getDataValidationHelper
();
// 加载下拉列表内容
DataValidationConstraint
constraint
=
helper
.
createFormulaListConstraint
(
hideSheet
Name
+
"_data"
);
DataValidationConstraint
constraint
=
helper
.
createFormulaListConstraint
(
hideSheet
DataName
);
// 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列
CellRangeAddressList
regions
=
new
CellRangeAddressList
(
firstRow
,
endRow
,
firstCol
,
endCol
);
// 数据有效性对象
...
...
@@ -1656,7 +1674,8 @@ public class ExcelUtil<T>
{
this
.
sheet
=
wb
.
createSheet
();
this
.
createTitle
();
wb
.
setSheetName
(
index
,
sheetName
+
index
);
int
actualIndex
=
wb
.
getSheetIndex
(
this
.
sheet
);
wb
.
setSheetName
(
actualIndex
,
sheetName
+
index
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment