|
|
|
@ -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); |
|
|
|
|
|
|
|
|
|
// 写入数据
|
|
|
|
|