Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lrs2010
easyexcel
提交
b8ec940b
E
easyexcel
项目概览
lrs2010
/
easyexcel
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
1
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 搜索 >>
提交
b8ec940b
编写于
2月 08, 2023
作者:
庄家钜
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增图片导出说明
上级
bd0f0643
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
82 addition
and
1 deletion
+82
-1
easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java
...java/com/alibaba/easyexcel/test/demo/write/WriteTest.java
+4
-0
easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java
.../com/alibaba/easyexcel/test/temp/write/TempWriteTest.java
+78
-1
未找到文件。
easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java
浏览文件 @
b8ec940b
...
...
@@ -242,6 +242,10 @@ public class WriteTest {
public
void
imageWrite
()
throws
Exception
{
String
fileName
=
TestFileUtil
.
getPath
()
+
"imageWrite"
+
System
.
currentTimeMillis
()
+
".xlsx"
;
// 这里注意下 所有的图片都会放到内存 暂时没有很好的解法,大量图片的情况下建议 2选1:
// 1. 将图片上传到oss 或者其他存储网站: https://www.aliyun.com/product/oss
// 2. 使用: https://github.com/coobird/thumbnailator 或者其他工具压缩图片
String
imagePath
=
TestFileUtil
.
getPath
()
+
"converter"
+
File
.
separator
+
"img.jpg"
;
try
(
InputStream
inputStream
=
FileUtils
.
openInputStream
(
new
File
(
imagePath
)))
{
List
<
ImageDemoData
>
list
=
ListUtils
.
newArrayList
();
...
...
easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java
浏览文件 @
b8ec940b
package
com.alibaba.easyexcel.test.temp.write
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.FileOutputStream
;
import
java.io.InputStream
;
import
java.net.URL
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
com.alibaba.easyexcel.test.demo.read.CustomStringStringConverter
;
import
com.alibaba.easyexcel.test.demo.write.DemoData
;
import
com.alibaba.easyexcel.test.demo.write.ImageDemoData
;
import
com.alibaba.easyexcel.test.util.TestFileUtil
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.ExcelWriter
;
import
com.alibaba.excel.enums.CellDataTypeEnum
;
import
com.alibaba.excel.metadata.data.ImageData
;
import
com.alibaba.excel.metadata.data.ImageData.ImageType
;
import
com.alibaba.excel.metadata.data.WriteCellData
;
import
com.alibaba.excel.util.BeanMapUtils
;
import
com.alibaba.excel.util.FileUtils
;
import
com.alibaba.excel.util.ListUtils
;
import
com.alibaba.excel.write.metadata.WriteSheet
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.poi.ss.usermodel.ClientAnchor
;
import
org.apache.poi.ss.usermodel.CreationHelper
;
import
org.apache.poi.ss.usermodel.IndexedColors
;
import
org.apache.poi.ss.usermodel.Picture
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.apache.poi.xssf.streaming.SXSSFCell
;
import
org.apache.poi.xssf.streaming.SXSSFDrawing
;
import
org.apache.poi.xssf.streaming.SXSSFRow
;
import
org.apache.poi.xssf.streaming.SXSSFSheet
;
import
org.apache.poi.xssf.streaming.SXSSFWorkbook
;
import
org.apache.poi.xssf.usermodel.XSSFCellStyle
;
import
org.apache.poi.xssf.usermodel.XSSFColor
;
import
org.apache.poi.xssf.usermodel.XSSFFont
;
import
org.apache.poi.xssf.usermodel.XSSFRow
;
import
org.apache.poi.xssf.usermodel.XSSFSheet
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.junit.Ignore
;
import
org.junit.Test
;
import
org.springframework.cglib.beans.BeanMap
;
...
...
@@ -28,7 +60,6 @@ public class TempWriteTest {
.
registerConverter
(
new
CustomStringStringConverter
())
.
doWrite
(
ListUtils
.
newArrayList
(
tempWriteData
));
EasyExcel
.
write
(
TestFileUtil
.
getPath
()
+
"TempWriteTest"
+
System
.
currentTimeMillis
()
+
".xlsx"
,
TempWriteData
.
class
)
.
sheet
()
...
...
@@ -55,4 +86,50 @@ public class TempWriteTest {
log
.
info
(
"3{}"
,
tempWriteData2
.
getName
());
}
@Test
public
void
imageWrite
()
throws
Exception
{
//String fileName = TestFileUtil.getPath() + "imageWrite" + System.currentTimeMillis() + ".xlsx";
//
//// 这里 需要指定写用哪个class去写
//try (ExcelWriter excelWriter = EasyExcel.write(fileName, DemoData.class).build()) {
// // 这里注意 如果同一个sheet只要创建一次
// WriteSheet writeSheet = EasyExcel.writerSheet("模板").build();
// // 去调用写入,这里我调用了五次,实际使用时根据数据库分页的总的页数来
// for (int i = 0; i < 5; i++) {
// // 分页去数据库查询数据 这里可以去数据库查询每一页的数据
// List<DemoData> data = data();
// excelWriter.write(data, writeSheet);
// }
//}
}
@Test
public
void
imageWritePoi
()
throws
Exception
{
String
file
=
"/Users/zhuangjiaju/test/imagetest"
+
System
.
currentTimeMillis
()
+
".xlsx"
;
SXSSFWorkbook
workbook
=
new
SXSSFWorkbook
();
SXSSFSheet
sheet
=
workbook
.
createSheet
(
"测试"
);
CreationHelper
helper
=
workbook
.
getCreationHelper
();
SXSSFDrawing
sxssfDrawin
=
sheet
.
createDrawingPatriarch
();
byte
[]
imagebyte
=
FileUtils
.
readFileToByteArray
(
new
File
(
"/Users/zhuangjiaju/Documents/demo.jpg"
));
for
(
int
i
=
0
;
i
<
1
*
10000
;
i
++)
{
SXSSFRow
row
=
sheet
.
createRow
(
i
);
SXSSFCell
cell
=
row
.
createCell
(
0
);
cell
.
setCellValue
(
i
);
int
pictureIdx
=
workbook
.
addPicture
(
imagebyte
,
Workbook
.
PICTURE_TYPE_JPEG
);
ClientAnchor
anchor
=
helper
.
createClientAnchor
();
anchor
.
setCol1
(
0
);
anchor
.
setRow1
(
i
);
// 插入图片
Picture
pict
=
sxssfDrawin
.
createPicture
(
anchor
,
pictureIdx
);
pict
.
resize
();
log
.
info
(
"新增行:{}"
,
i
);
}
FileOutputStream
fileOutputStream
=
new
FileOutputStream
(
file
);
workbook
.
write
(
fileOutputStream
);
fileOutputStream
.
flush
();
workbook
.
close
();
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录