mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
add fill template
This commit is contained in:
parent
d3752b7648
commit
3a73d3d0a0
@ -45,7 +45,7 @@ public class ExcelWriteConfig extends ExcelConfig {
|
|||||||
* 是否强制插入行<br>
|
* 是否强制插入行<br>
|
||||||
* 如果为{@code true},则写入行以下的已存在行下移,{@code false}则利用填充已有行,不存在再创建行
|
* 如果为{@code true},则写入行以下的已存在行下移,{@code false}则利用填充已有行,不存在再创建行
|
||||||
*/
|
*/
|
||||||
protected boolean insertRow;
|
protected boolean insertRow = true;
|
||||||
/**
|
/**
|
||||||
* 标题顺序比较器
|
* 标题顺序比较器
|
||||||
*/
|
*/
|
||||||
|
@ -9,21 +9,15 @@ import java.util.Map;
|
|||||||
|
|
||||||
public class TemplateWriterTest {
|
public class TemplateWriterTest {
|
||||||
|
|
||||||
@Test
|
private static final String targetDir = "d:/test/templateWriter/";
|
||||||
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
|
@Test
|
||||||
void writeRowTest() {
|
void writeTest() {
|
||||||
final ExcelWriter writer = ExcelUtil.getWriter("d:/test/template.xlsx");
|
final ExcelWriter writer = ExcelUtil.getWriter("template.xlsx");
|
||||||
writer.getConfig().setInsertRow(true);
|
writer.getConfig().setInsertRow(false);
|
||||||
|
|
||||||
// 单个替换的变量
|
// 单个替换的变量
|
||||||
writer.fillOnce(MapUtil
|
writer.fillOnce(MapUtil
|
||||||
@ -35,14 +29,17 @@ public class TemplateWriterTest {
|
|||||||
writer.writeRow(createRow(), false);
|
writer.writeRow(createRow(), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
writer.flush(FileUtil.file("d:/test/templateResult.xlsx"), true);
|
writer.flush(FileUtil.file(targetDir + "templateResult.xlsx"), true);
|
||||||
writer.close();
|
writer.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 带有页脚的数据填充,通过插入方式完成,页脚下移
|
||||||
|
*/
|
||||||
@Test
|
@Test
|
||||||
void writeRowWithFooterTest() {
|
void writeWithFooterTest() {
|
||||||
final ExcelWriter writer = ExcelUtil.getWriter("d:/test/templateWithFooter.xlsx");
|
final ExcelWriter writer = ExcelUtil.getWriter("templateWithFooter.xlsx");
|
||||||
writer.getConfig().setInsertRow(true);
|
//writer.getConfig().setInsertRow(true);
|
||||||
|
|
||||||
// 单个替换的变量
|
// 单个替换的变量
|
||||||
writer.fillOnce(MapUtil
|
writer.fillOnce(MapUtil
|
||||||
@ -54,7 +51,29 @@ public class TemplateWriterTest {
|
|||||||
writer.writeRow(createRow(), false);
|
writer.writeRow(createRow(), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
writer.flush(FileUtil.file("d:/test/templateWithFooterResult.xlsx"), true);
|
writer.flush(FileUtil.file(targetDir + "templateWithFooterResult.xlsx"), true);
|
||||||
|
writer.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 错位数据,即变量不在一行上
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
void writeNoneOneLineTest() {
|
||||||
|
final ExcelWriter writer = ExcelUtil.getWriter(targetDir + "templateWithFooterNoneOneLine.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(targetDir + "templateWithFooterResult.xlsx"), true);
|
||||||
writer.close();
|
writer.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Binary file not shown.
BIN
hutool-poi/src/test/resources/templateWithFooter.xlsx
Normal file
BIN
hutool-poi/src/test/resources/templateWithFooter.xlsx
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user