mirror of
https://gitee.com/dromara/hutool.git
synced 2025-06-28 13:34:09 +08:00
add test
This commit is contained in:
parent
158647373b
commit
1366b6c1b9
@ -7,6 +7,7 @@ import cn.hutool.core.io.FileUtil;
|
|||||||
import cn.hutool.core.io.IORuntimeException;
|
import cn.hutool.core.io.IORuntimeException;
|
||||||
import cn.hutool.core.io.IoUtil;
|
import cn.hutool.core.io.IoUtil;
|
||||||
import cn.hutool.core.lang.Assert;
|
import cn.hutool.core.lang.Assert;
|
||||||
|
import cn.hutool.core.lang.Console;
|
||||||
import cn.hutool.core.map.MapUtil;
|
import cn.hutool.core.map.MapUtil;
|
||||||
import cn.hutool.core.map.SafeConcurrentHashMap;
|
import cn.hutool.core.map.SafeConcurrentHashMap;
|
||||||
import cn.hutool.core.map.TableMap;
|
import cn.hutool.core.map.TableMap;
|
||||||
@ -1022,6 +1023,7 @@ public class ExcelWriter extends ExcelBase<ExcelWriter> {
|
|||||||
} else if (BeanUtil.isBean(rowBean.getClass())) {
|
} else if (BeanUtil.isBean(rowBean.getClass())) {
|
||||||
if (MapUtil.isEmpty(this.headerAlias)) {
|
if (MapUtil.isEmpty(this.headerAlias)) {
|
||||||
rowMap = BeanUtil.beanToMap(rowBean, new LinkedHashMap<>(), false, false);
|
rowMap = BeanUtil.beanToMap(rowBean, new LinkedHashMap<>(), false, false);
|
||||||
|
Console.log(rowMap);
|
||||||
} else {
|
} else {
|
||||||
// 别名存在情况下按照别名的添加顺序排序Bean数据
|
// 别名存在情况下按照别名的添加顺序排序Bean数据
|
||||||
rowMap = BeanUtil.beanToMap(rowBean, new TreeMap<>(getCachedAliasComparator()), false, false);
|
rowMap = BeanUtil.beanToMap(rowBean, new TreeMap<>(getCachedAliasComparator()), false, false);
|
||||||
|
40
hutool-poi/src/test/java/cn/hutool/poi/excel/Issue2899Test.java
Executable file
40
hutool-poi/src/test/java/cn/hutool/poi/excel/Issue2899Test.java
Executable file
@ -0,0 +1,40 @@
|
|||||||
|
package cn.hutool.poi.excel;
|
||||||
|
|
||||||
|
import cn.hutool.core.annotation.Alias;
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.io.FileUtil;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.junit.Ignore;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
public class Issue2899Test {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Ignore
|
||||||
|
public void aliasWriteTest() {
|
||||||
|
// Bean中设置@Alias时,setOnlyAlias是无效的,这个参数只和addHeaderAlias配合使用,原因是注解是Bean内部的操作,而addHeaderAlias是Writer的操作,不互通。
|
||||||
|
final TestBean testBean1 = new TestBean();
|
||||||
|
testBean1.setName("张三");
|
||||||
|
testBean1.setScore(12);
|
||||||
|
|
||||||
|
final TestBean testBean2 = new TestBean();
|
||||||
|
testBean2.setName("李四");
|
||||||
|
testBean2.setScore(23);
|
||||||
|
|
||||||
|
FileUtil.del("d:/test/aliasTest.xlsx");
|
||||||
|
final ExcelWriter writer = ExcelUtil.getWriter("d:/test/aliasTest.xlsx");
|
||||||
|
|
||||||
|
writer.addHeaderAlias("姓名", "姓名");
|
||||||
|
writer.setOnlyAlias(true);
|
||||||
|
writer.merge(2, "成绩单");
|
||||||
|
writer.write(CollUtil.newArrayList(testBean1, testBean2), true);
|
||||||
|
writer.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Data
|
||||||
|
static class TestBean{
|
||||||
|
@Alias("姓名")
|
||||||
|
private String name;
|
||||||
|
private double score;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user