add fill template

This commit is contained in:
Looly
2024-08-25 12:17:27 +08:00
parent 1228c09a10
commit d3752b7648
8 changed files with 233 additions and 72 deletions

View File

@@ -5,30 +5,69 @@ import org.dromara.hutool.core.map.MapUtil;
import org.dromara.hutool.poi.excel.ExcelUtil;
import org.junit.jupiter.api.Test;
import java.util.Map;
public class TemplateWriterTest {
@Test
void insertTest() {
final ExcelWriter writer = ExcelUtil.getWriter("d:/test/template.xlsx");
writer.getConfig().setInsertRow(true);
writer.setCurrentRow(3);
writer.getSheet().shiftRows(4, 4, 10);
writer.flush(FileUtil.file("d:/test/templateInsertResult.xlsx"), true);
writer.close();
}
@Test
void writeRowTest() {
final ExcelWriter writer = ExcelUtil.getWriter("d:/test/template.xlsx");
writer.getConfig().setInsertRow(true);
// 单个替换的变量
writer.fillRow(MapUtil
writer.fillOnce(MapUtil
.builder("date", (Object)"2024-01-01")
.build());
// 列表替换
for (int i = 0; i < 10; i++) {
writer.fillRow(MapUtil
.builder("user.name", (Object)"张三")
.put("user.age", 18)
.put("year", 2024)
.put("month", 8)
.put("day", 24)
.put("day", 24)
.put("user.area123", "某某市")
.put("invalid", "不替换")
.build());
writer.writeRow(createRow(), false);
}
writer.flush(FileUtil.file("d:/test/templateResult.xlsx"), true);
writer.close();
}
@Test
void writeRowWithFooterTest() {
final ExcelWriter writer = ExcelUtil.getWriter("d:/test/templateWithFooter.xlsx");
writer.getConfig().setInsertRow(true);
// 单个替换的变量
writer.fillOnce(MapUtil
.builder("date", (Object)"2024-01-01")
.build());
// 列表替换
for (int i = 0; i < 10; i++) {
writer.writeRow(createRow(), false);
}
writer.flush(FileUtil.file("d:/test/templateWithFooterResult.xlsx"), true);
writer.close();
}
private static Map<String, Object> createRow(){
return MapUtil
.builder("user.name", (Object)"张三")
.put("user.age", 18)
.put("year", 2024)
.put("month", 8)
.put("day", 24)
.put("day", 24)
.put("user.area123", "某某市")
.put("invalid", "不替换")
.build();
}
}