Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_879456671
easyexcel
提交
b9844658
E
easyexcel
项目概览
qq_879456671
/
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,体验更适合开发者的 AI 搜索 >>
提交
b9844658
编写于
9月 17, 2021
作者:
庄家钜
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增demo
上级
329cc3d1
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
26 addition
and
6 deletion
+26
-6
README.md
README.md
+1
-0
src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java
...t/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java
+2
-2
src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java
...java/com/alibaba/easyexcel/test/demo/write/WriteTest.java
+23
-4
未找到文件。
README.md
浏览文件 @
b9844658
...
...
@@ -31,6 +31,7 @@ Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都
*
不建议夸大版本升级 尤其夸2个大版本
*
2+ 升级到 3+
*
使用了自定义拦截器去修改样式的会出问题
*
读的时候
`invoke`
里面抛出异常,不会再额外封装一层
`ExcelAnalysisException`
*
大版本升级后建议相关内容重新测试下
## 人员招募
...
...
src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java
浏览文件 @
b9844658
...
...
@@ -45,7 +45,7 @@ public class ReadTest {
*/
@Test
public
void
simpleRead
()
{
// 写法1:JDK8+ ,不用额外写一个
Read
Listener
// 写法1:JDK8+ ,不用额外写一个
DemoData
Listener
// since: 3.0.0-beta1
String
fileName
=
TestFileUtil
.
getPath
()
+
"demo"
+
File
.
separator
+
"demo.xlsx"
;
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
...
...
@@ -57,7 +57,7 @@ public class ReadTest {
})).
sheet
().
doRead
();
// 写法2:
// 匿名内部类 不用额外写一个
Read
Listener
// 匿名内部类 不用额外写一个
DemoData
Listener
fileName
=
TestFileUtil
.
getPath
()
+
"demo"
+
File
.
separator
+
"demo.xlsx"
;
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
EasyExcel
.
read
(
fileName
,
DemoData
.
class
,
new
ReadListener
<
DemoData
>()
{
...
...
src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java
浏览文件 @
b9844658
...
...
@@ -273,11 +273,17 @@ public class WriteTest {
imageDemoData
.
setUrl
(
new
URL
(
"https://raw.githubusercontent.com/alibaba/easyexcel/master/src/test/resources/converter/img.jpg"
));
// 这里演示 图片 不想顶格放 且占用2个单元格的情况
// 这里演示
// 需要额外放入文字
// 而且需要放入2个图片
// 第一个图片靠左
// 第二个靠右 而且要额外的占用他后面的单元格
WriteCellData
<
Void
>
writeCellData
=
new
WriteCellData
<>();
imageDemoData
.
setWriteCellDataFile
(
writeCellData
);
// 设置为空 代表当前单元格不需要写图片以外的数据
writeCellData
.
setType
(
CellDataTypeEnum
.
EMPTY
);
// 这里可以设置为 EMPTY 则代表不需要其他数据了
writeCellData
.
setType
(
CellDataTypeEnum
.
STRING
);
writeCellData
.
setStringValue
(
"额外的放一些文字"
);
// 可以放入多个图片
List
<
ImageData
>
imageDataList
=
new
ArrayList
<>();
ImageData
imageData
=
new
ImageData
();
...
...
@@ -288,17 +294,30 @@ public class WriteTest {
// 图片类型
imageData
.
setImageType
(
ImageType
.
PICTURE_TYPE_PNG
);
// 上 右 下 左 需要留空
// 这个类似于 css 的 margin
// 这里实测 不能设置太大 超过单元格原始大小后 打开会提示修复。暂时未找到很好的解法。
imageData
.
setTop
(
5
);
imageData
.
setRight
(
5
);
imageData
.
setRight
(
40
);
imageData
.
setBottom
(
5
);
imageData
.
setLeft
(
5
);
// 放入第二个图片
imageData
=
new
ImageData
();
imageDataList
.
add
(
imageData
);
writeCellData
.
setImageDataList
(
imageDataList
);
imageData
.
setImage
(
FileUtils
.
readFileToByteArray
(
new
File
(
imagePath
)));
imageData
.
setImageType
(
ImageType
.
PICTURE_TYPE_PNG
);
imageData
.
setTop
(
5
);
imageData
.
setRight
(
5
);
imageData
.
setBottom
(
5
);
imageData
.
setLeft
(
50
);
// 设置图片的位置 假设 现在目标 是 覆盖 当前单元格 和当前单元格右边的单元格
// 起点相对于当前单元格为0 当然可以不写
imageData
.
setRelativeFirstRowIndex
(
0
);
imageData
.
setRelativeFirstColumnIndex
(
0
);
imageData
.
setRelativeLastRowIndex
(
0
);
// 前面3个可以不写 下面这个需要写 也就是 结尾 需要相对当前单元格 往右移动一格
// 也就是说 这个图片会覆盖当前单元格和 后面的那一格
imageData
.
setRelativeLastColumnIndex
(
1
);
// 写入数据
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录