Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Laubin729
easyexcel
提交
51238868
E
easyexcel
项目概览
Laubin729
/
easyexcel
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
easyexcel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
GitCode(gitcode.net)2024年7月9日维护升级公告
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
51238868
编写于
8月 28, 2019
作者:
庄家钜
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改拦截器demo
上级
05c39481
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
61 addition
and
0 deletion
+61
-0
quickstart.md
quickstart.md
+61
-0
未找到文件。
quickstart.md
浏览文件 @
51238868
...
...
@@ -853,6 +853,67 @@ public class LongestMatchColumnWidthData {
![
img
](
img/readme/quickstart/write/customHandlerWrite.png
)
##### 对象
参照:
[
对象
](
#simpleWriteObject
)
##### 定义拦截器
````
java
/**
* 自定义拦截器。对第一行第一列的头超链接到:https://github.com/alibaba/easyexcel
*
* @author Jiaju Zhuang
*/
public
class
CustomCellWriteHandler
implements
CellWriteHandler
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
CustomCellWriteHandler
.
class
);
@Override
public
void
beforeCellCreate
(
WriteSheetHolder
writeSheetHolder
,
WriteTableHolder
writeTableHolder
,
Row
row
,
Head
head
,
int
relativeRowIndex
,
boolean
isHead
)
{
}
@Override
public
void
afterCellCreate
(
WriteSheetHolder
writeSheetHolder
,
WriteTableHolder
writeTableHolder
,
CellData
cellData
,
Cell
cell
,
Head
head
,
int
relativeRowIndex
,
boolean
isHead
)
{
// 这里可以对cell进行任何操作
LOGGER
.
info
(
"第{}行,第{}列写入完成。"
,
cell
.
getRowIndex
(),
cell
.
getColumnIndex
());
if
(
isHead
&&
cell
.
getColumnIndex
()
==
0
)
{
CreationHelper
createHelper
=
writeSheetHolder
.
getSheet
().
getWorkbook
().
getCreationHelper
();
Hyperlink
hyperlink
=
createHelper
.
createHyperlink
(
HyperlinkType
.
URL
);
hyperlink
.
setAddress
(
"https://github.com/alibaba/easyexcel"
);
cell
.
setHyperlink
(
hyperlink
);
}
}
}
````
````
java
/**
* 自定义拦截器.对第一列第一行和第二行的数据新增下拉框,显示 测试1 测试2
*
* @author Jiaju Zhuang
*/
public
class
CustomSheetWriteHandler
implements
SheetWriteHandler
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
CustomSheetWriteHandler
.
class
);
@Override
public
void
beforeSheetCreate
(
WriteWorkbookHolder
writeWorkbookHolder
,
WriteSheetHolder
writeSheetHolder
)
{
}
@Override
public
void
afterSheetCreate
(
WriteWorkbookHolder
writeWorkbookHolder
,
WriteSheetHolder
writeSheetHolder
)
{
LOGGER
.
info
(
"第{}个Sheet写入成功。"
,
writeSheetHolder
.
getSheetNo
());
// 区间设置 第一列第一行和第二行的数据。由于第一行是头,所以第一、二行的数据实际上是第二三行
CellRangeAddressList
cellRangeAddressList
=
new
CellRangeAddressList
(
1
,
2
,
0
,
0
);
DataValidationHelper
helper
=
writeSheetHolder
.
getSheet
().
getDataValidationHelper
();
DataValidationConstraint
constraint
=
helper
.
createExplicitListConstraint
(
new
String
[]
{
"测试1"
,
"测试2"
});
DataValidation
dataValidation
=
helper
.
createValidation
(
constraint
,
cellRangeAddressList
);
writeSheetHolder
.
getSheet
().
addValidationData
(
dataValidation
);
}
}
````
##### 代码
```
java
/**
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录