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
328d4b91
Commit
328d4b91
authored
Apr 23, 2022
by
RuoYi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Excel注解支持color字体颜色
parent
b42a8176
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
43 additions
and
24 deletions
+43
-24
Excel.java
...mmon/src/main/java/com/ruoyi/common/annotation/Excel.java
+14
-7
ExcelUtil.java
...n/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
+29
-17
No files found.
ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excel.java
View file @
328d4b91
...
@@ -5,6 +5,8 @@ import java.lang.annotation.Retention;
...
@@ -5,6 +5,8 @@ import java.lang.annotation.Retention;
import
java.lang.annotation.RetentionPolicy
;
import
java.lang.annotation.RetentionPolicy
;
import
java.lang.annotation.Target
;
import
java.lang.annotation.Target
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
org.apache.poi.ss.usermodel.HorizontalAlignment
;
import
org.apache.poi.ss.usermodel.IndexedColors
;
import
com.ruoyi.common.utils.poi.ExcelHandlerAdapter
;
import
com.ruoyi.common.utils.poi.ExcelHandlerAdapter
;
/**
/**
...
@@ -56,11 +58,6 @@ public @interface Excel
...
@@ -56,11 +58,6 @@ public @interface Excel
*/
*/
public
int
roundingMode
()
default
BigDecimal
.
ROUND_HALF_EVEN
;
public
int
roundingMode
()
default
BigDecimal
.
ROUND_HALF_EVEN
;
/**
* 导出类型(0数字 1字符串)
*/
public
ColumnType
cellType
()
default
ColumnType
.
STRING
;
/**
/**
* 导出时在excel中每个列的高度 单位为字符
* 导出时在excel中每个列的高度 单位为字符
*/
*/
...
@@ -107,9 +104,19 @@ public @interface Excel
...
@@ -107,9 +104,19 @@ public @interface Excel
public
boolean
isStatistics
()
default
false
;
public
boolean
isStatistics
()
default
false
;
/**
/**
* 导出字段对齐方式(0:默认;1:靠左;2:居中;3:靠右)
* 导出类型(0数字 1字符串)
*/
public
ColumnType
cellType
()
default
ColumnType
.
STRING
;
/**
* 导出字体颜色
*/
public
IndexedColors
color
()
default
IndexedColors
.
BLACK
;
/**
* 导出字段对齐方式
*/
*/
public
Align
align
()
default
Align
.
AUTO
;
public
HorizontalAlignment
align
()
default
HorizontalAlignment
.
CENTER
;
/**
/**
* 自定义数据处理器
* 自定义数据处理器
...
...
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
View file @
328d4b91
...
@@ -672,21 +672,6 @@ public class ExcelUtil<T>
...
@@ -672,21 +672,6 @@ public class ExcelUtil<T>
style
.
setFont
(
totalFont
);
style
.
setFont
(
totalFont
);
styles
.
put
(
"total"
,
style
);
styles
.
put
(
"total"
,
style
);
style
=
wb
.
createCellStyle
();
style
.
cloneStyleFrom
(
styles
.
get
(
"data"
));
style
.
setAlignment
(
HorizontalAlignment
.
LEFT
);
styles
.
put
(
"data1"
,
style
);
style
=
wb
.
createCellStyle
();
style
.
cloneStyleFrom
(
styles
.
get
(
"data"
));
style
.
setAlignment
(
HorizontalAlignment
.
CENTER
);
styles
.
put
(
"data2"
,
style
);
style
=
wb
.
createCellStyle
();
style
.
cloneStyleFrom
(
styles
.
get
(
"data"
));
style
.
setAlignment
(
HorizontalAlignment
.
RIGHT
);
styles
.
put
(
"data3"
,
style
);
return
styles
;
return
styles
;
}
}
...
@@ -808,8 +793,7 @@ public class ExcelUtil<T>
...
@@ -808,8 +793,7 @@ public class ExcelUtil<T>
{
{
// 创建cell
// 创建cell
cell
=
row
.
createCell
(
column
);
cell
=
row
.
createCell
(
column
);
int
align
=
attr
.
align
().
value
();
setDataCell
(
cell
,
attr
);
cell
.
setCellStyle
(
styles
.
get
(
"data"
+
(
align
>=
1
&&
align
<=
3
?
align
:
""
)));
// 用于读取对象中的属性
// 用于读取对象中的属性
Object
value
=
getTargetValue
(
vo
,
field
,
attr
);
Object
value
=
getTargetValue
(
vo
,
field
,
attr
);
...
@@ -852,6 +836,34 @@ public class ExcelUtil<T>
...
@@ -852,6 +836,34 @@ public class ExcelUtil<T>
return
cell
;
return
cell
;
}
}
/**
* 设置单元格样式
*
* @param cell 单元格
* @param excel 注解信息
*/
public
void
setDataCell
(
Cell
cell
,
Excel
excel
)
{
CellStyle
style
=
wb
.
createCellStyle
();
style
.
setAlignment
(
HorizontalAlignment
.
CENTER
);
style
.
setVerticalAlignment
(
VerticalAlignment
.
CENTER
);
style
.
setBorderRight
(
BorderStyle
.
THIN
);
style
.
setRightBorderColor
(
IndexedColors
.
GREY_50_PERCENT
.
getIndex
());
style
.
setBorderLeft
(
BorderStyle
.
THIN
);
style
.
setLeftBorderColor
(
IndexedColors
.
GREY_50_PERCENT
.
getIndex
());
style
.
setBorderTop
(
BorderStyle
.
THIN
);
style
.
setTopBorderColor
(
IndexedColors
.
GREY_50_PERCENT
.
getIndex
());
style
.
setBorderBottom
(
BorderStyle
.
THIN
);
style
.
setBottomBorderColor
(
IndexedColors
.
GREY_50_PERCENT
.
getIndex
());
style
.
setAlignment
(
excel
.
align
());
Font
dataFont
=
wb
.
createFont
();
dataFont
.
setFontName
(
"Arial"
);
dataFont
.
setFontHeightInPoints
((
short
)
10
);
dataFont
.
setColor
(
excel
.
color
().
index
);
style
.
setFont
(
dataFont
);
cell
.
setCellStyle
(
style
);
}
/**
/**
* 设置 POI XSSFSheet 单元格提示或选择框
* 设置 POI XSSFSheet 单元格提示或选择框
*
*
...
...
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