This commit is contained in:
Looly
2022-04-30 20:47:32 +08:00
parent dea8344d91
commit ca094ca4a8
1356 changed files with 15747 additions and 16033 deletions

View File

@@ -11,9 +11,9 @@ public class CsvParserTest {
@Test
public void parseTest1() {
StringReader reader = StrUtil.getReader("aaa,b\"bba\",ccc");
CsvParser parser = new CsvParser(reader, null);
CsvRow row = parser.nextRow();
final StringReader reader = StrUtil.getReader("aaa,b\"bba\",ccc");
final CsvParser parser = new CsvParser(reader, null);
final CsvRow row = parser.nextRow();
//noinspection ConstantConditions
Assert.assertEquals("b\"bba\"", row.getRawList().get(1));
IoUtil.close(parser);
@@ -21,9 +21,9 @@ public class CsvParserTest {
@Test
public void parseTest2() {
StringReader reader = StrUtil.getReader("aaa,\"bba\"bbb,ccc");
CsvParser parser = new CsvParser(reader, null);
CsvRow row = parser.nextRow();
final StringReader reader = StrUtil.getReader("aaa,\"bba\"bbb,ccc");
final CsvParser parser = new CsvParser(reader, null);
final CsvRow row = parser.nextRow();
//noinspection ConstantConditions
Assert.assertEquals("\"bba\"bbb", row.getRawList().get(1));
IoUtil.close(parser);
@@ -31,9 +31,9 @@ public class CsvParserTest {
@Test
public void parseTest3() {
StringReader reader = StrUtil.getReader("aaa,\"bba\",ccc");
CsvParser parser = new CsvParser(reader, null);
CsvRow row = parser.nextRow();
final StringReader reader = StrUtil.getReader("aaa,\"bba\",ccc");
final CsvParser parser = new CsvParser(reader, null);
final CsvRow row = parser.nextRow();
//noinspection ConstantConditions
Assert.assertEquals("bba", row.getRawList().get(1));
IoUtil.close(parser);
@@ -41,9 +41,9 @@ public class CsvParserTest {
@Test
public void parseTest4() {
StringReader reader = StrUtil.getReader("aaa,\"\",ccc");
CsvParser parser = new CsvParser(reader, null);
CsvRow row = parser.nextRow();
final StringReader reader = StrUtil.getReader("aaa,\"\",ccc");
final CsvParser parser = new CsvParser(reader, null);
final CsvRow row = parser.nextRow();
//noinspection ConstantConditions
Assert.assertEquals("", row.getRawList().get(1));
IoUtil.close(parser);
@@ -53,9 +53,9 @@ public class CsvParserTest {
public void parseEscapeTest(){
// https://datatracker.ietf.org/doc/html/rfc4180#section-2
// 第七条规则
StringReader reader = StrUtil.getReader("\"b\"\"bb\"");
CsvParser parser = new CsvParser(reader, null);
CsvRow row = parser.nextRow();
final StringReader reader = StrUtil.getReader("\"b\"\"bb\"");
final CsvParser parser = new CsvParser(reader, null);
final CsvRow row = parser.nextRow();
Assert.assertNotNull(row);
Assert.assertEquals(1, row.size());
Assert.assertEquals("b\"bb", row.get(0));

View File

@@ -18,8 +18,8 @@ public class CsvReaderTest {
@Test
public void readTest() {
CsvReader reader = new CsvReader();
CsvData data = reader.read(ResourceUtil.getReader("test.csv", CharsetUtil.UTF_8));
final CsvReader reader = new CsvReader();
final CsvData data = reader.read(ResourceUtil.getReader("test.csv", CharsetUtil.UTF_8));
Assert.assertEquals("sss,sss", data.getRow(0).get(0));
Assert.assertEquals(1, data.getRow(0).getOriginalLineNumber());
Assert.assertEquals("性别", data.getRow(0).get(2));
@@ -109,7 +109,7 @@ public class CsvReaderTest {
public void readTest2() {
final CsvReader reader = CsvUtil.getReader();
final CsvData read = reader.read(FileUtil.file("d:/test/test.csv"));
for (CsvRow strings : read) {
for (final CsvRow strings : read) {
Console.log(strings);
}
}
@@ -121,15 +121,15 @@ public class CsvReaderTest {
csvReadConfig.setContainsHeader(true);
final CsvReader reader = CsvUtil.getReader(csvReadConfig);
final CsvData read = reader.read(FileUtil.file("d:/test/ceshi.csv"));
for (CsvRow row : read) {
for (final CsvRow row : read) {
Console.log(row.getByName("案件ID"));
}
}
@Test
public void lineNoTest() {
CsvReader reader = new CsvReader();
CsvData data = reader.read(ResourceUtil.getReader("test_lines.csv", CharsetUtil.UTF_8));
final CsvReader reader = new CsvReader();
final CsvData data = reader.read(ResourceUtil.getReader("test_lines.csv", CharsetUtil.UTF_8));
Assert.assertEquals(1, data.getRow(0).getOriginalLineNumber());
Assert.assertEquals("a,b,c,d", CollUtil.join(data.getRow(0), ","));
@@ -145,8 +145,8 @@ public class CsvReaderTest {
@Test
public void lineLimitTest() {
// 从原始第2行开始读取
CsvReader reader = new CsvReader(CsvReadConfig.defaultConfig().setBeginLineNo(2));
CsvData data = reader.read(ResourceUtil.getReader("test_lines.csv", CharsetUtil.UTF_8));
final CsvReader reader = new CsvReader(CsvReadConfig.defaultConfig().setBeginLineNo(2));
final CsvData data = reader.read(ResourceUtil.getReader("test_lines.csv", CharsetUtil.UTF_8));
Assert.assertEquals(2, data.getRow(0).getOriginalLineNumber());
Assert.assertEquals("1,2,3,4", CollUtil.join(data.getRow(0), ","));
@@ -163,8 +163,8 @@ public class CsvReaderTest {
@Test
public void lineLimitWithHeaderTest() {
// 从原始第2行开始读取
CsvReader reader = new CsvReader(CsvReadConfig.defaultConfig().setBeginLineNo(2).setContainsHeader(true));
CsvData data = reader.read(ResourceUtil.getReader("test_lines.csv", CharsetUtil.UTF_8));
final CsvReader reader = new CsvReader(CsvReadConfig.defaultConfig().setBeginLineNo(2).setContainsHeader(true));
final CsvData data = reader.read(ResourceUtil.getReader("test_lines.csv", CharsetUtil.UTF_8));
Assert.assertEquals(4, data.getRow(0).getOriginalLineNumber());
Assert.assertEquals("q,w,e,r,我是一段\n带换行的内容",

View File

@@ -21,10 +21,10 @@ public class CsvUtilTest {
@Test
public void readTest() {
CsvReader reader = CsvUtil.getReader();
final CsvReader reader = CsvUtil.getReader();
//从文件中读取CSV数据
CsvData data = reader.read(FileUtil.file("test.csv"));
List<CsvRow> rows = data.getRows();
final CsvData data = reader.read(FileUtil.file("test.csv"));
final List<CsvRow> rows = data.getRows();
final CsvRow row0 = rows.get(0);
Assert.assertEquals("sss,sss", row0.get(0));
Assert.assertEquals("姓名", row0.get(1));
@@ -37,7 +37,7 @@ public class CsvUtilTest {
@Test
public void readTest2() {
CsvReader reader = CsvUtil.getReader();
final CsvReader reader = CsvUtil.getReader();
reader.read(FileUtil.getUtf8Reader("test.csv"), (csvRow)-> {
// 只有一行,所以直接判断
Assert.assertEquals("sss,sss", csvRow.get(0));
@@ -53,16 +53,16 @@ public class CsvUtilTest {
@Test
@Ignore
public void readTest3() {
CsvReader reader = CsvUtil.getReader();
String path = FileUtil.isWindows() ? "d:/test/test.csv" : "~/test/test.csv";
final CsvReader reader = CsvUtil.getReader();
final String path = FileUtil.isWindows() ? "d:/test/test.csv" : "~/test/test.csv";
reader.read(FileUtil.getUtf8Reader(path), Console::log);
}
@Test
public void readCsvStr1(){
CsvData data = CsvUtil.getReader().readFromStr("# 这是一行注释,读取时应忽略\n" +
final CsvData data = CsvUtil.getReader().readFromStr("# 这是一行注释,读取时应忽略\n" +
"\"sss,sss\",姓名,\"性别\",关注\"对象\",年龄,\"\",\"\"\"\n");
List<CsvRow> rows = data.getRows();
final List<CsvRow> rows = data.getRows();
final CsvRow row0 = rows.get(0);
Assert.assertEquals("sss,sss", row0.get(0));
Assert.assertEquals("姓名", row0.get(1));
@@ -91,8 +91,8 @@ public class CsvUtilTest {
@Test
@Ignore
public void writeTest() {
String path = FileUtil.isWindows() ? "d:/test/testWrite.csv" : "~/test/testWrite.csv";
CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.UTF_8);
final String path = FileUtil.isWindows() ? "d:/test/testWrite.csv" : "~/test/testWrite.csv";
final CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.UTF_8);
writer.write(
new String[] {"a1", "b1", "c1", "123345346456745756756785656"},
new String[] {"a2", "b2", "c2"},
@@ -111,20 +111,20 @@ public class CsvUtilTest {
Integer age;
}
String path = FileUtil.isWindows() ? "d:/test/testWriteBeans.csv" : "~/test/testWriteBeans.csv";
CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.UTF_8);
List<Student> students = new ArrayList<>();
Student student1 = new Student();
final String path = FileUtil.isWindows() ? "d:/test/testWriteBeans.csv" : "~/test/testWriteBeans.csv";
final CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.UTF_8);
final List<Student> students = new ArrayList<>();
final Student student1 = new Student();
student1.setId(1);
student1.setName("张三");
student1.setAge(18);
Student student2 = new Student();
final Student student2 = new Student();
student2.setId(2);
student2.setName("李四");
student2.setAge(22);
Student student3 = new Student();
final Student student3 = new Student();
student3.setId(3);
student3.setName("王五");
student3.setAge(31);
@@ -140,9 +140,9 @@ public class CsvUtilTest {
@Ignore
public void readLfTest(){
final CsvReader reader = CsvUtil.getReader();
String path = FileUtil.isWindows() ? "d:/test/rw_test.csv" : "~/test/rw_test.csv";
final String path = FileUtil.isWindows() ? "d:/test/rw_test.csv" : "~/test/rw_test.csv";
final CsvData read = reader.read(FileUtil.file(path));
for (CsvRow row : read) {
for (final CsvRow row : read) {
Console.log(row);
}
}
@@ -150,7 +150,7 @@ public class CsvUtilTest {
@Test
@Ignore
public void writeWrapTest(){
List<List<Object>> resultList=new ArrayList<>();
final List<List<Object>> resultList=new ArrayList<>();
List<Object> list =new ArrayList<>();
list.add("\"name\"");
list.add("\"code\"");
@@ -161,7 +161,7 @@ public class CsvUtilTest {
list.add(1);
resultList.add(list);
String path = FileUtil.isWindows() ? "d:/test/csvWrapTest.csv" : "~/test/csvWrapTest.csv";
final String path = FileUtil.isWindows() ? "d:/test/csvWrapTest.csv" : "~/test/csvWrapTest.csv";
final CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.UTF_8);
writer.write(resultList);
}
@@ -177,10 +177,10 @@ public class CsvUtilTest {
String mobile;
}
List<String> header = ListUtil.of("用户id", "用户名", "手机号");
List<CsvRow> row = new ArrayList<>();
final List<String> header = ListUtil.of("用户id", "用户名", "手机号");
final List<CsvRow> row = new ArrayList<>();
List<User> datas = new ArrayList<>();
final List<User> datas = new ArrayList<>();
datas.add(new User(1, "张三", "18800001111"));
datas.add(new User(2, "李四", "18800001112"));
datas.add(new User(3, "王五", "18800001113"));
@@ -188,19 +188,19 @@ public class CsvUtilTest {
//可以为null
//Map<String, Integer> headMap = null;
Map<String, Integer> headMap = new HashMap<>();
final Map<String, Integer> headMap = new HashMap<>();
headMap.put("userId", 0);
headMap.put("username", 1);
headMap.put("mobile", 2);
for (User user : datas) {
for (final User user : datas) {
// row.size() + 1, 表示从第2行开始第一行是标题栏
row.add(new CsvRow(row.size() + 1, headMap,
BeanUtil.beanToMap(user).values().stream().map(Object::toString).collect(Collectors.toList())));
}
CsvData csvData = new CsvData(header, row);
String path = FileUtil.isWindows() ? "d:/test/csvWriteDataTest.csv" : "~/test/csvWriteDataTest.csv";
final CsvData csvData = new CsvData(header, row);
final String path = FileUtil.isWindows() ? "d:/test/csvWriteDataTest.csv" : "~/test/csvWriteDataTest.csv";
final CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.UTF_8);
writer.write(csvData);
}

View File

@@ -32,14 +32,14 @@ public class CsvWriterTest {
@Test
@Ignore
public void issue2255Test(){
String fileName = "D:/test/" + new Random().nextInt(100) + "-a.csv";
CsvWriter writer = CsvUtil.getWriter(fileName, CharsetUtil.UTF_8);
List<String> list = new ArrayList<>();
final String fileName = "D:/test/" + new Random().nextInt(100) + "-a.csv";
final CsvWriter writer = CsvUtil.getWriter(fileName, CharsetUtil.UTF_8);
final List<String> list = new ArrayList<>();
for (int i = 0; i < 10000; i++) {
list.add(i+"");
}
Console.log("{} : {}", fileName, list.size());
for (String s : list) {
for (final String s : list) {
writer.writeLine(s);
}
writer.close();

View File

@@ -30,8 +30,8 @@ public class BigExcelWriteTest {
@Test
@Ignore
public void writeTest2() {
List<String> row = CollUtil.newArrayList("姓名", "加班日期", "下班时间", "加班时长", "餐补", "车补次数", "车补", "总计");
BigExcelWriter overtimeWriter = ExcelUtil.getBigWriter("e:/excel/single_line.xlsx");
final List<String> row = CollUtil.newArrayList("姓名", "加班日期", "下班时间", "加班时长", "餐补", "车补次数", "车补", "总计");
final BigExcelWriter overtimeWriter = ExcelUtil.getBigWriter("e:/excel/single_line.xlsx");
overtimeWriter.write(row);
overtimeWriter.close();
}
@@ -39,22 +39,22 @@ public class BigExcelWriteTest {
@Test
@Ignore
public void writeTest() {
List<?> row1 = CollUtil.newArrayList("aaaaa", "bb", "cc", "dd", DateUtil.date(), 3.22676575765);
List<?> row2 = CollUtil.newArrayList("aa1", "bb1", "cc1", "dd1", DateUtil.date(), 250.7676);
List<?> row3 = CollUtil.newArrayList("aa2", "bb2", "cc2", "dd2", DateUtil.date(), 0.111);
List<?> row4 = CollUtil.newArrayList("aa3", "bb3", "cc3", "dd3", DateUtil.date(), 35);
List<?> row5 = CollUtil.newArrayList("aa4", "bb4", "cc4", "dd4", DateUtil.date(), 28.00);
final List<?> row1 = CollUtil.newArrayList("aaaaa", "bb", "cc", "dd", DateUtil.date(), 3.22676575765);
final List<?> row2 = CollUtil.newArrayList("aa1", "bb1", "cc1", "dd1", DateUtil.date(), 250.7676);
final List<?> row3 = CollUtil.newArrayList("aa2", "bb2", "cc2", "dd2", DateUtil.date(), 0.111);
final List<?> row4 = CollUtil.newArrayList("aa3", "bb3", "cc3", "dd3", DateUtil.date(), 35);
final List<?> row5 = CollUtil.newArrayList("aa4", "bb4", "cc4", "dd4", DateUtil.date(), 28.00);
List<List<?>> rows = CollUtil.newArrayList(row1, row2, row3, row4, row5);
final List<List<?>> rows = CollUtil.newArrayList(row1, row2, row3, row4, row5);
for(int i=0; i < 400000; i++) {
//超大列表写出测试
rows.add(ObjUtil.clone(row1));
}
String filePath = "e:/bigWriteTest.xlsx";
final String filePath = "e:/bigWriteTest.xlsx";
FileUtil.del(filePath);
// 通过工具类创建writer
BigExcelWriter writer = ExcelUtil.getBigWriter(filePath);
final BigExcelWriter writer = ExcelUtil.getBigWriter(filePath);
// // 跳过当前行,即第一行,非必须,在此演示用
// writer.passCurrentRow();
@@ -70,17 +70,17 @@ public class BigExcelWriteTest {
@Test
@Ignore
public void mergeTest() {
List<?> row1 = CollUtil.newArrayList("aa", "bb", "cc", "dd", DateUtil.date(), 3.22676575765);
List<?> row2 = CollUtil.newArrayList("aa1", "bb1", "cc1", "dd1", DateUtil.date(), 250.7676);
List<?> row3 = CollUtil.newArrayList("aa2", "bb2", "cc2", "dd2", DateUtil.date(), 0.111);
List<?> row4 = CollUtil.newArrayList("aa3", "bb3", "cc3", "dd3", DateUtil.date(), 35);
List<?> row5 = CollUtil.newArrayList("aa4", "bb4", "cc4", "dd4", DateUtil.date(), 28.00);
final List<?> row1 = CollUtil.newArrayList("aa", "bb", "cc", "dd", DateUtil.date(), 3.22676575765);
final List<?> row2 = CollUtil.newArrayList("aa1", "bb1", "cc1", "dd1", DateUtil.date(), 250.7676);
final List<?> row3 = CollUtil.newArrayList("aa2", "bb2", "cc2", "dd2", DateUtil.date(), 0.111);
final List<?> row4 = CollUtil.newArrayList("aa3", "bb3", "cc3", "dd3", DateUtil.date(), 35);
final List<?> row5 = CollUtil.newArrayList("aa4", "bb4", "cc4", "dd4", DateUtil.date(), 28.00);
List<List<?>> rows = CollUtil.newArrayList(row1, row2, row3, row4, row5);
final List<List<?>> rows = CollUtil.newArrayList(row1, row2, row3, row4, row5);
// 通过工具类创建writer
BigExcelWriter writer = ExcelUtil.getBigWriter("e:/mergeTest.xlsx");
CellStyle style = writer.getStyleSet().getHeadCellStyle();
final BigExcelWriter writer = ExcelUtil.getBigWriter("e:/mergeTest.xlsx");
final CellStyle style = writer.getStyleSet().getHeadCellStyle();
StyleUtil.setColor(style, IndexedColors.RED, FillPatternType.SOLID_FOREGROUND);
// 跳过当前行,即第一行,非必须,在此演示用
@@ -100,29 +100,29 @@ public class BigExcelWriteTest {
@Test
@Ignore
public void writeMapTest() {
Map<String, Object> row1 = new LinkedHashMap<>();
final Map<String, Object> row1 = new LinkedHashMap<>();
row1.put("姓名", "张三");
row1.put("年龄", 23);
row1.put("成绩", 88.32);
row1.put("是否合格", true);
row1.put("考试日期", DateUtil.date());
Map<String, Object> row2 = new LinkedHashMap<>();
final Map<String, Object> row2 = new LinkedHashMap<>();
row2.put("姓名", "李四");
row2.put("年龄", 33);
row2.put("成绩", 59.50);
row2.put("是否合格", false);
row2.put("考试日期", DateUtil.date());
ArrayList<Map<String, Object>> rows = CollUtil.newArrayList(row1, row2);
final ArrayList<Map<String, Object>> rows = CollUtil.newArrayList(row1, row2);
// 通过工具类创建writer
String path = "e:/bigWriteMapTest.xlsx";
final String path = "e:/bigWriteMapTest.xlsx";
FileUtil.del(path);
BigExcelWriter writer = ExcelUtil.getBigWriter(path);
final BigExcelWriter writer = ExcelUtil.getBigWriter(path);
//设置内容字体
Font font = writer.createFont();
final Font font = writer.createFont();
font.setBold(true);
font.setColor(Font.COLOR_RED);
font.setItalic(true);
@@ -139,7 +139,7 @@ public class BigExcelWriteTest {
@Test
@Ignore
public void writeMapTest2() {
Map<String, Object> row1 = MapUtil.newHashMap(true);
final Map<String, Object> row1 = MapUtil.newHashMap(true);
row1.put("姓名", "张三");
row1.put("年龄", 23);
row1.put("成绩", 88.32);
@@ -147,9 +147,9 @@ public class BigExcelWriteTest {
row1.put("考试日期", DateUtil.date());
// 通过工具类创建writer
String path = "e:/bigWriteMapTest2.xlsx";
final String path = "e:/bigWriteMapTest2.xlsx";
FileUtil.del(path);
BigExcelWriter writer = ExcelUtil.getBigWriter(path);
final BigExcelWriter writer = ExcelUtil.getBigWriter(path);
// 一次性写出内容,使用默认样式
writer.writeRow(row1, true);
@@ -160,25 +160,25 @@ public class BigExcelWriteTest {
@Test
@Ignore
public void writeBeanTest() {
cn.hutool.poi.excel.TestBean bean1 = new cn.hutool.poi.excel.TestBean();
final cn.hutool.poi.excel.TestBean bean1 = new cn.hutool.poi.excel.TestBean();
bean1.setName("张三");
bean1.setAge(22);
bean1.setPass(true);
bean1.setScore(66.30);
bean1.setExamDate(DateUtil.date());
cn.hutool.poi.excel.TestBean bean2 = new cn.hutool.poi.excel.TestBean();
final cn.hutool.poi.excel.TestBean bean2 = new cn.hutool.poi.excel.TestBean();
bean2.setName("李四");
bean2.setAge(28);
bean2.setPass(false);
bean2.setScore(38.50);
bean2.setExamDate(DateUtil.date());
List<cn.hutool.poi.excel.TestBean> rows = CollUtil.newArrayList(bean1, bean2);
final List<cn.hutool.poi.excel.TestBean> rows = CollUtil.newArrayList(bean1, bean2);
// 通过工具类创建writer
String file = "e:/bigWriteBeanTest.xlsx";
final String file = "e:/bigWriteBeanTest.xlsx";
FileUtil.del(file);
BigExcelWriter writer = ExcelUtil.getBigWriter(file);
final BigExcelWriter writer = ExcelUtil.getBigWriter(file);
//自定义标题
writer.addHeaderAlias("name", "姓名");
writer.addHeaderAlias("age", "年龄");
@@ -196,9 +196,9 @@ public class BigExcelWriteTest {
@Test
@Ignore
public void writeCellValueTest() {
String path = "d:/test/cellValueTest.xlsx";
final String path = "d:/test/cellValueTest.xlsx";
FileUtil.del(path);
BigExcelWriter writer = new BigExcelWriter(path);
final BigExcelWriter writer = new BigExcelWriter(path);
writer.writeCellValue(3, 5, "aaa");
writer.close();
}
@@ -211,7 +211,7 @@ public class BigExcelWriteTest {
final List<?> data = Arrays.asList(map1, map2);
final String destFilePath = "d:/test/closeTest.xlsx";//略
FileUtil.del(destFilePath);
try (ExcelWriter writer = ExcelUtil.getBigWriter(destFilePath)) {
try (final ExcelWriter writer = ExcelUtil.getBigWriter(destFilePath)) {
writer.write(data).flush();
}
}
@@ -220,13 +220,13 @@ public class BigExcelWriteTest {
@Ignore
public void issue1210() {
// 通过工具类创建writer
String path = "d:/test/issue1210.xlsx";
final String path = "d:/test/issue1210.xlsx";
FileUtil.del(path);
BigExcelWriter writer = ExcelUtil.getBigWriter(path);
final BigExcelWriter writer = ExcelUtil.getBigWriter(path);
writer.addHeaderAlias("id", "SN");
writer.addHeaderAlias("userName", "User Name");
List<Map<String, Object>> list = new ArrayList<>();
final List<Map<String, Object>> list = new ArrayList<>();
list.add(new HashMap<String, Object>() {
private static final long serialVersionUID = 1L;

View File

@@ -13,9 +13,9 @@ public class CellEditorTest {
@org.junit.Test
public void readTest(){
ExcelReader excelReader= ExcelUtil.getReader("cell_editor_test.xlsx");
final ExcelReader excelReader= ExcelUtil.getReader("cell_editor_test.xlsx");
excelReader.setCellEditor(new ExcelHandler());
List<Test> excelReaderObjects=excelReader.readAll(Test.class);
final List<Test> excelReaderObjects=excelReader.readAll(Test.class);
Assert.assertEquals("0", excelReaderObjects.get(0).getTest1());
Assert.assertEquals("b", excelReaderObjects.get(0).getTest2());
@@ -36,7 +36,7 @@ public class CellEditorTest {
public static class ExcelHandler implements CellEditor {
@ Override
public Object edit(Cell cell, Object o) {
public Object edit(final Cell cell, Object o) {
if (cell.getColumnIndex()==0 && cell.getRowIndex() != 0){
o="0";
}

View File

@@ -11,7 +11,7 @@ public class CellUtilTest {
@Test
@Ignore
public void isDateTest() {
String[] all = BuiltinFormats.getAll();
final String[] all = BuiltinFormats.getAll();
for(int i = 0 ; i < all.length; i++) {
Console.log("{} {}", i, all[i]);
}

View File

@@ -11,7 +11,7 @@ public class ExcelFileUtilTest {
@Test
public void xlsTest(){
InputStream in = FileUtil.getInputStream("aaa.xls");
final InputStream in = FileUtil.getInputStream("aaa.xls");
try{
Assert.assertTrue(ExcelFileUtil.isXls(in));
Assert.assertFalse(ExcelFileUtil.isXlsx(in));
@@ -22,7 +22,7 @@ public class ExcelFileUtilTest {
@Test
public void xlsxTest(){
InputStream in = FileUtil.getInputStream("aaa.xlsx");
final InputStream in = FileUtil.getInputStream("aaa.xlsx");
try{
Assert.assertFalse(ExcelFileUtil.isXls(in));
Assert.assertTrue(ExcelFileUtil.isXlsx(in));

View File

@@ -23,13 +23,13 @@ public class ExcelReadTest {
@Test
public void aliasTest() {
ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("alias.xlsx"));
final ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("alias.xlsx"));
//读取单个单元格内容测试
Object value = reader.readCellValue(1, 2);
final Object value = reader.readCellValue(1, 2);
Assert.assertEquals("仓库", value);
Map<String, String> headerAlias = MapUtil.newHashMap();
final Map<String, String> headerAlias = MapUtil.newHashMap();
headerAlias.put("用户姓名", "userName");
headerAlias.put("库房", "storageName");
headerAlias.put("盘点权限", "checkPerm");
@@ -37,14 +37,14 @@ public class ExcelReadTest {
reader.setHeaderAlias(headerAlias);
// 读取list时默认首个非空行为标题
List<List<Object>> read = reader.read();
final List<List<Object>> read = reader.read();
Assert.assertEquals("userName", read.get(0).get(0));
Assert.assertEquals("storageName", read.get(0).get(1));
Assert.assertEquals("checkPerm", read.get(0).get(2));
Assert.assertEquals("allotAuditPerm", read.get(0).get(3));
List<Map<String, Object>> readAll = reader.readAll();
for (Map<String, Object> map : readAll) {
final List<Map<String, Object>> readAll = reader.readAll();
for (final Map<String, Object> map : readAll) {
Assert.assertTrue(map.containsKey("userName"));
Assert.assertTrue(map.containsKey("storageName"));
Assert.assertTrue(map.containsKey("checkPerm"));
@@ -54,16 +54,16 @@ public class ExcelReadTest {
@Test
public void excelReadTestOfEmptyLine() {
ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("priceIndex.xls"));
List<Map<String, Object>> readAll = reader.readAll();
final ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("priceIndex.xls"));
final List<Map<String, Object>> readAll = reader.readAll();
Assert.assertEquals(4, readAll.size());
}
@Test
public void excelReadTest() {
ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("aaa.xlsx"));
List<List<Object>> readAll = reader.read();
final ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("aaa.xlsx"));
final List<List<Object>> readAll = reader.read();
// 标题
Assert.assertEquals("姓名", readAll.get(0).get(0));
@@ -80,14 +80,14 @@ public class ExcelReadTest {
@Test
public void excelReadAsTextTest() {
ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("aaa.xlsx"));
final ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("aaa.xlsx"));
Assert.assertNotNull(reader.readAsText(false));
}
@Test
public void excel03ReadTest() {
ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("aaa.xls"));
List<List<Object>> readAll = reader.read();
final ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("aaa.xls"));
final List<List<Object>> readAll = reader.read();
// for (List<Object> list : readAll) {
// Console.log(list);
@@ -108,8 +108,8 @@ public class ExcelReadTest {
@Test
public void excel03ReadTest2() {
ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("aaa.xls"), "校园入学");
List<List<Object>> readAll = reader.read();
final ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("aaa.xls"), "校园入学");
final List<List<Object>> readAll = reader.read();
// 标题
Assert.assertEquals("班级", readAll.get(0).get(0));
@@ -121,8 +121,8 @@ public class ExcelReadTest {
@Test
public void excelReadToMapListTest() {
ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("aaa.xlsx"));
List<Map<String, Object>> readAll = reader.readAll();
final ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("aaa.xlsx"));
final List<Map<String, Object>> readAll = reader.readAll();
Assert.assertEquals("张三", readAll.get(0).get("姓名"));
Assert.assertEquals("", readAll.get(0).get("性别"));
@@ -131,13 +131,13 @@ public class ExcelReadTest {
@Test
public void excelReadToBeanListTest() {
ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("aaa.xlsx"));
final ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("aaa.xlsx"));
reader.addHeaderAlias("姓名", "name");
reader.addHeaderAlias("年龄", "age");
reader.addHeaderAlias("性别", "gender");
reader.addHeaderAlias("鞋码", "shoeSize");
List<Person> all = reader.readAll(Person.class);
final List<Person> all = reader.readAll(Person.class);
Assert.assertEquals("张三", all.get(0).getName());
Assert.assertEquals("", all.get(0).getGender());
Assert.assertEquals(Integer.valueOf(11), all.get(0).getAge());
@@ -147,13 +147,13 @@ public class ExcelReadTest {
@Test
@Ignore
public void excelReadToBeanListTest2() {
ExcelReader reader = ExcelUtil.getReader("f:/test/toBean.xlsx");
final ExcelReader reader = ExcelUtil.getReader("f:/test/toBean.xlsx");
reader.addHeaderAlias("姓名", "name");
reader.addHeaderAlias("年龄", "age");
reader.addHeaderAlias("性别", "gender");
List<Person> all = reader.read(0, 2, Person.class);
for (Person person : all) {
final List<Person> all = reader.read(0, 2, Person.class);
for (final Person person : all) {
Console.log(person);
}
}
@@ -169,9 +169,9 @@ public class ExcelReadTest {
@Test
@Ignore
public void readDoubleTest() {
ExcelReader reader = ExcelUtil.getReader("f:/test/doubleTest.xls");
final ExcelReader reader = ExcelUtil.getReader("f:/test/doubleTest.xls");
final List<List<Object>> read = reader.read();
for (List<Object> list : read) {
for (final List<Object> list : read) {
Console.log(list.get(8));
}
}
@@ -198,7 +198,7 @@ public class ExcelReadTest {
// 测试合并单元格是否可以正常读到第一个单元格的值
final ExcelReader reader = ExcelUtil.getReader("d:/test/人员体检信息表.xlsx");
final List<List<Object>> read = reader.read();
for (List<Object> list : read) {
for (final List<Object> list : read) {
Console.log(list);
}
}
@@ -236,7 +236,7 @@ public class ExcelReadTest {
@Test
public void readColumnTest(){
ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("aaa.xlsx"));
final ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("aaa.xlsx"));
final List<Object> objects = reader.readColumn(0, 1);
Assert.assertEquals(3, objects.size());
@@ -248,7 +248,7 @@ public class ExcelReadTest {
@Test
public void readColumnNPETest() {
// https://github.com/dromara/hutool/pull/2234
ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("read_row_npe.xlsx"));
final ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("read_row_npe.xlsx"));
reader.readColumn(0, 1);
}
}

View File

@@ -51,7 +51,7 @@ public class ExcelSaxReadTest {
@Test
public void excel03Test() {
Excel03SaxReader reader = new Excel03SaxReader(createRowHandler());
final Excel03SaxReader reader = new Excel03SaxReader(createRowHandler());
reader.read("aaa.xls", 1);
// Console.log("Sheet index: [{}], Sheet name: [{}]", reader.getSheetIndex(), reader.getSheetName());
@@ -60,7 +60,7 @@ public class ExcelSaxReadTest {
@Test
public void excel03ByNameTest() {
Excel03SaxReader reader = new Excel03SaxReader(createRowHandler());
final Excel03SaxReader reader = new Excel03SaxReader(createRowHandler());
reader.read("aaa.xls", "校园入学");
reader.read("aaa.xls", "sheetName:校园入学");
}
@@ -68,7 +68,7 @@ public class ExcelSaxReadTest {
@Test(expected = POIException.class)
public void excel03ByNameErrorTest() {
// sheet名称不存在则报错
Excel03SaxReader reader = new Excel03SaxReader(createRowHandler());
final Excel03SaxReader reader = new Excel03SaxReader(createRowHandler());
reader.read("aaa.xls", "校园入学1");
}
@@ -120,12 +120,12 @@ public class ExcelSaxReadTest {
ExcelUtil.readBySax("d:/test/test.xlsx", -1, new RowHandler() {
@Override
public void handleCell(int sheetIndex, long rowIndex, int cellIndex, Object value, CellStyle xssfCellStyle) {
public void handleCell(final int sheetIndex, final long rowIndex, final int cellIndex, final Object value, final CellStyle xssfCellStyle) {
Console.log("{} {} {}", rowIndex, cellIndex, value);
}
@Override
public void handle(int sheetIndex, long rowIndex, List<Object> rowCells) {
public void handle(final int sheetIndex, final long rowIndex, final List<Object> rowCells) {
}
}
@@ -138,12 +138,12 @@ public class ExcelSaxReadTest {
ExcelUtil.readBySax("d:/test/test.xls", -1, new RowHandler() {
@Override
public void handleCell(int sheetIndex, long rowIndex, int cellIndex, Object value, CellStyle xssfCellStyle) {
public void handleCell(final int sheetIndex, final long rowIndex, final int cellIndex, final Object value, final CellStyle xssfCellStyle) {
Console.log("{} {} {}", rowIndex, cellIndex, value);
}
@Override
public void handle(int sheetIndex, long rowIndex, List<Object> rowCells) {
public void handle(final int sheetIndex, final long rowIndex, final List<Object> rowCells) {
}
}
);
@@ -151,7 +151,7 @@ public class ExcelSaxReadTest {
@Test
public void formulaRead03Test() {
List<Object> rows = new ArrayList<>();
final List<Object> rows = new ArrayList<>();
ExcelUtil.readBySax("data_for_sax_test.xls", -1, (i, i1, list) -> {
if(list.size() > 1){
rows.add(list.get(1));
@@ -164,7 +164,7 @@ public class ExcelSaxReadTest {
@Test
public void formulaRead07Test() {
List<Object> rows = new ArrayList<>();
final List<Object> rows = new ArrayList<>();
ExcelUtil.readBySax("data_for_sax_test.xlsx", 0, (i, i1, list) ->
rows.add(list.get(1)));
@@ -174,7 +174,7 @@ public class ExcelSaxReadTest {
@Test
public void dateReadXlsTest() {
List<String> rows = new ArrayList<>();
final List<String> rows = new ArrayList<>();
ExcelUtil.readBySax("data_for_sax_test.xls", 0,
(i, i1, list) -> rows.add(StrUtil.toString(list.get(0)))
);
@@ -188,7 +188,7 @@ public class ExcelSaxReadTest {
@Test
public void dateReadXlsxTest() {
List<String> rows = new ArrayList<>();
final List<String> rows = new ArrayList<>();
ExcelUtil.readBySax("data_for_sax_test.xlsx", 0,
(i, i1, list) -> rows.add(StrUtil.toString(list.get(0)))
);
@@ -211,7 +211,7 @@ public class ExcelSaxReadTest {
@Test
@Ignore
public void readBlankTest() {
File file = new File("D:/test/b.xlsx");
final File file = new File("D:/test/b.xlsx");
ExcelUtil.readBySax(file, 0, (sheetIndex, rowIndex, rowList) -> rowList.forEach(Console::log));

View File

@@ -48,16 +48,16 @@ public class ExcelUtilTest {
@Test
public void readAndWriteTest() {
ExcelReader reader = ExcelUtil.getReader("aaa.xlsx");
ExcelWriter writer = reader.getWriter();
final ExcelReader reader = ExcelUtil.getReader("aaa.xlsx");
final ExcelWriter writer = reader.getWriter();
writer.writeCellValue(1, 2, "设置值");
writer.close();
}
@Test
public void getReaderByBookFilePathAndSheetNameTest() {
ExcelReader reader = ExcelUtil.getReader("aaa.xlsx", "12");
List<Map<String, Object>> list = reader.readAll();
final ExcelReader reader = ExcelUtil.getReader("aaa.xlsx", "12");
final List<Map<String, Object>> list = reader.readAll();
reader.close();
Assert.assertEquals(1L, list.get(1).get("鞋码"));
}

View File

@@ -47,12 +47,12 @@ public class ExcelWriteTest {
@Test
public void writeNoFlushTest(){
List<?> row1 = CollUtil.newArrayList("aaaaa", "bb", "cc", "dd", DateUtil.date(), 3.22676575765);
List<?> row2 = CollUtil.newArrayList("aa1", "bb1", "cc1", "dd1", DateUtil.date(), 250.7676);
List<?> row3 = CollUtil.newArrayList("aa2", "bb2", "cc2", "dd2", DateUtil.date(), 0.111);
List<?> row4 = CollUtil.newArrayList("aa3", "bb3", "cc3", "dd3", DateUtil.date(), 35);
List<?> row5 = CollUtil.newArrayList("aa4", "bb4", "cc4", "dd4", DateUtil.date(), 28.00);
List<List<?>> rows = CollUtil.newArrayList(row1, row2, row3, row4, row5);
final List<?> row1 = CollUtil.newArrayList("aaaaa", "bb", "cc", "dd", DateUtil.date(), 3.22676575765);
final List<?> row2 = CollUtil.newArrayList("aa1", "bb1", "cc1", "dd1", DateUtil.date(), 250.7676);
final List<?> row3 = CollUtil.newArrayList("aa2", "bb2", "cc2", "dd2", DateUtil.date(), 0.111);
final List<?> row4 = CollUtil.newArrayList("aa3", "bb3", "cc3", "dd3", DateUtil.date(), 35);
final List<?> row5 = CollUtil.newArrayList("aa4", "bb4", "cc4", "dd4", DateUtil.date(), 28.00);
final List<List<?>> rows = CollUtil.newArrayList(row1, row2, row3, row4, row5);
final ExcelWriter writer = ExcelUtil.getWriter();
writer.write(rows);
@@ -62,18 +62,18 @@ public class ExcelWriteTest {
@Test
@Ignore
public void testRowOrColumnCellStyle() {
List<?> row1 = CollUtil.newArrayList("aaaaa", "bb", "cc", "dd", DateUtil.date(), 3.22676575765);
List<?> row2 = CollUtil.newArrayList("aa1", "bb1", "cc1", "dd1", DateUtil.date(), 250.7676);
List<?> row3 = CollUtil.newArrayList("aa2", "bb2", "cc2", "dd2", DateUtil.date(), 0.111);
List<?> row4 = CollUtil.newArrayList("aa3", "bb3", "cc3", "dd3", DateUtil.date(), 35);
List<?> row5 = CollUtil.newArrayList("aa4", "bb4", "cc4", "dd4", DateUtil.date(), 28.00);
final List<?> row1 = CollUtil.newArrayList("aaaaa", "bb", "cc", "dd", DateUtil.date(), 3.22676575765);
final List<?> row2 = CollUtil.newArrayList("aa1", "bb1", "cc1", "dd1", DateUtil.date(), 250.7676);
final List<?> row3 = CollUtil.newArrayList("aa2", "bb2", "cc2", "dd2", DateUtil.date(), 0.111);
final List<?> row4 = CollUtil.newArrayList("aa3", "bb3", "cc3", "dd3", DateUtil.date(), 35);
final List<?> row5 = CollUtil.newArrayList("aa4", "bb4", "cc4", "dd4", DateUtil.date(), 28.00);
List<List<?>> rows = CollUtil.newArrayList(row1, row2, row3, row4, row5);
BigExcelWriter overtimeWriter = ExcelUtil.getBigWriter("d:/test/style_line.xlsx");
final List<List<?>> rows = CollUtil.newArrayList(row1, row2, row3, row4, row5);
final BigExcelWriter overtimeWriter = ExcelUtil.getBigWriter("d:/test/style_line.xlsx");
overtimeWriter.write(rows, true);
CellStyle cellStyle = overtimeWriter.getWorkbook().createCellStyle();
final CellStyle cellStyle = overtimeWriter.getWorkbook().createCellStyle();
StyleUtil.setBorder(cellStyle, BorderStyle.THIN, IndexedColors.BLACK);
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
cellStyle.setFillForegroundColor((short) 13);
@@ -91,7 +91,7 @@ public class ExcelWriteTest {
//给第二列加背景色 从第一行开始加(用于控制有表头时)
overtimeWriter.setColumnStyleIfHasData(1, 0, cellStyle);
CellStyle cellStyle1 = overtimeWriter.getWorkbook().createCellStyle();
final CellStyle cellStyle1 = overtimeWriter.getWorkbook().createCellStyle();
StyleUtil.setBorder(cellStyle1, BorderStyle.THIN, IndexedColors.BLACK);
cellStyle1.setFillPattern(FillPatternType.SOLID_FOREGROUND);
cellStyle1.setFillForegroundColor((short) 13);
@@ -106,8 +106,8 @@ public class ExcelWriteTest {
@Test
@Ignore
public void writeTest2() {
List<String> row = CollUtil.newArrayList("姓名", "加班日期", "下班时间", "加班时长", "餐补", "车补次数", "车补", "总计");
ExcelWriter overtimeWriter = ExcelUtil.getWriter("e:/excel/single_line.xlsx");
final List<String> row = CollUtil.newArrayList("姓名", "加班日期", "下班时间", "加班时长", "餐补", "车补次数", "车补", "总计");
final ExcelWriter overtimeWriter = ExcelUtil.getWriter("e:/excel/single_line.xlsx");
overtimeWriter.writeRow(row);
overtimeWriter.close();
}
@@ -115,15 +115,15 @@ public class ExcelWriteTest {
@Test
@Ignore
public void writeWithSheetTest() {
ExcelWriter writer = ExcelUtil.getWriterWithSheet("表格1");
final ExcelWriter writer = ExcelUtil.getWriterWithSheet("表格1");
// 写出第一张表
List<String> row = CollUtil.newArrayList("姓名", "加班日期", "下班时间", "加班时长", "餐补", "车补次数", "车补", "总计");
final List<String> row = CollUtil.newArrayList("姓名", "加班日期", "下班时间", "加班时长", "餐补", "车补次数", "车补", "总计");
writer.writeRow(row);
// 写出第二张表
writer.setSheet("表格2");
List<String> row2 = CollUtil.newArrayList("姓名2", "加班日期2", "下班时间2", "加班时长2", "餐补2", "车补次数2", "车补2", "总计2");
final List<String> row2 = CollUtil.newArrayList("姓名2", "加班日期2", "下班时间2", "加班时长2", "餐补2", "车补次数2", "车补2", "总计2");
writer.writeRow(row2);
// 生成文件或导出Excel
@@ -135,22 +135,22 @@ public class ExcelWriteTest {
@Test
@Ignore
public void writeTest() {
List<?> row1 = CollUtil.newArrayList("aaaaa", "bb", "cc", "dd", DateUtil.date(), 3.22676575765);
List<?> row2 = CollUtil.newArrayList("aa1", "bb1", "cc1", "dd1", DateUtil.date(), 250.7676);
List<?> row3 = CollUtil.newArrayList("aa2", "bb2", "cc2", "dd2", DateUtil.date(), 0.111);
List<?> row4 = CollUtil.newArrayList("aa3", "bb3", "cc3", "dd3", DateUtil.date(), 35);
List<?> row5 = CollUtil.newArrayList("aa4", "bb4", "cc4", "dd4", DateUtil.date(), 28.00);
final List<?> row1 = CollUtil.newArrayList("aaaaa", "bb", "cc", "dd", DateUtil.date(), 3.22676575765);
final List<?> row2 = CollUtil.newArrayList("aa1", "bb1", "cc1", "dd1", DateUtil.date(), 250.7676);
final List<?> row3 = CollUtil.newArrayList("aa2", "bb2", "cc2", "dd2", DateUtil.date(), 0.111);
final List<?> row4 = CollUtil.newArrayList("aa3", "bb3", "cc3", "dd3", DateUtil.date(), 35);
final List<?> row5 = CollUtil.newArrayList("aa4", "bb4", "cc4", "dd4", DateUtil.date(), 28.00);
List<List<?>> rows = CollUtil.newArrayList(row1, row2, row3, row4, row5);
final List<List<?>> rows = CollUtil.newArrayList(row1, row2, row3, row4, row5);
for (int i = 0; i < 400; i++) {
// 超大列表写出测试
rows.add(ObjUtil.clone(row1));
}
String filePath = "d:/test/writeTest.xlsx";
final String filePath = "d:/test/writeTest.xlsx";
FileUtil.del(filePath);
// 通过工具类创建writer
ExcelWriter writer = ExcelUtil.getWriter(filePath);
final ExcelWriter writer = ExcelUtil.getWriter(filePath);
// 通过构造方法创建writer
// ExcelWriter writer = new ExcelWriter("d:/writeTest.xls");
@@ -170,17 +170,17 @@ public class ExcelWriteTest {
@Test
@Ignore
public void mergeTest() {
List<?> row1 = CollUtil.newArrayList("aa", "bb", "cc", "dd", DateUtil.date(), 3.22676575765);
List<?> row2 = CollUtil.newArrayList("aa1", "bb1", "cc1", "dd1", DateUtil.date(), 250.7676);
List<?> row3 = CollUtil.newArrayList("aa2", "bb2", "cc2", "dd2", DateUtil.date(), 0.111);
List<?> row4 = CollUtil.newArrayList("aa3", "bb3", "cc3", "dd3", DateUtil.date(), 35);
List<?> row5 = CollUtil.newArrayList("aa4", "bb4", "cc4", "dd4", DateUtil.date(), 28.00);
final List<?> row1 = CollUtil.newArrayList("aa", "bb", "cc", "dd", DateUtil.date(), 3.22676575765);
final List<?> row2 = CollUtil.newArrayList("aa1", "bb1", "cc1", "dd1", DateUtil.date(), 250.7676);
final List<?> row3 = CollUtil.newArrayList("aa2", "bb2", "cc2", "dd2", DateUtil.date(), 0.111);
final List<?> row4 = CollUtil.newArrayList("aa3", "bb3", "cc3", "dd3", DateUtil.date(), 35);
final List<?> row5 = CollUtil.newArrayList("aa4", "bb4", "cc4", "dd4", DateUtil.date(), 28.00);
List<List<?>> rows = CollUtil.newArrayList(row1, row2, row3, row4, row5);
final List<List<?>> rows = CollUtil.newArrayList(row1, row2, row3, row4, row5);
// 通过工具类创建writer
ExcelWriter writer = ExcelUtil.getWriter("d:/test/mergeTest.xlsx");
CellStyle style = writer.getStyleSet().getHeadCellStyle();
final ExcelWriter writer = ExcelUtil.getWriter("d:/test/mergeTest.xlsx");
final CellStyle style = writer.getStyleSet().getHeadCellStyle();
StyleUtil.setColor(style, IndexedColors.RED, FillPatternType.SOLID_FOREGROUND);
// 跳过当前行,即第一行,非必须,在此演示用
@@ -200,24 +200,24 @@ public class ExcelWriteTest {
@Test
@Ignore
public void mergeTest2() {
Map<String, Object> row1 = new LinkedHashMap<>();
final Map<String, Object> row1 = new LinkedHashMap<>();
row1.put("姓名", "张三");
row1.put("年龄", 23);
row1.put("成绩", 88.32);
row1.put("是否合格", true);
row1.put("考试日期", DateUtil.date());
Map<String, Object> row2 = new LinkedHashMap<>();
final Map<String, Object> row2 = new LinkedHashMap<>();
row2.put("姓名", "李四");
row2.put("年龄", 33);
row2.put("成绩", 59.50);
row2.put("是否合格", false);
row2.put("考试日期", DateUtil.date());
ArrayList<Map<String, Object>> rows = CollUtil.newArrayList(row1, row2);
final ArrayList<Map<String, Object>> rows = CollUtil.newArrayList(row1, row2);
// 通过工具类创建writer
ExcelWriter writer = ExcelUtil.getWriter("d:/test/writeMapTest.xlsx");
final ExcelWriter writer = ExcelUtil.getWriter("d:/test/writeMapTest.xlsx");
// 合并单元格后的标题行,使用默认标题样式
writer.merge(row1.size() - 1, "一班成绩单");
@@ -230,27 +230,27 @@ public class ExcelWriteTest {
@Test
@Ignore
public void writeMapTest() {
Map<String, Object> row1 = new LinkedHashMap<>();
final Map<String, Object> row1 = new LinkedHashMap<>();
row1.put("姓名", "张三");
row1.put("年龄", 23);
row1.put("成绩", 88.32);
row1.put("是否合格", true);
row1.put("考试日期", DateUtil.date());
Map<String, Object> row2 = new LinkedHashMap<>();
final Map<String, Object> row2 = new LinkedHashMap<>();
row2.put("姓名", "李四");
row2.put("年龄", 33);
row2.put("成绩", 59.50);
row2.put("是否合格", false);
row2.put("考试日期", DateUtil.date());
ArrayList<Map<String, Object>> rows = CollUtil.newArrayList(row1, row2);
final ArrayList<Map<String, Object>> rows = CollUtil.newArrayList(row1, row2);
// 通过工具类创建writer
ExcelWriter writer = ExcelUtil.getWriter("e:/excel/writeMapTest.xlsx");
final ExcelWriter writer = ExcelUtil.getWriter("e:/excel/writeMapTest.xlsx");
// 设置内容字体
Font font = writer.createFont();
final Font font = writer.createFont();
font.setBold(true);
font.setColor(Font.COLOR_RED);
font.setItalic(true);
@@ -267,7 +267,7 @@ public class ExcelWriteTest {
@Test
@Ignore
public void writeMapTest2() {
Map<String, Object> row1 = MapUtil.newHashMap(true);
final Map<String, Object> row1 = MapUtil.newHashMap(true);
row1.put("姓名", "张三");
row1.put("年龄", 23);
row1.put("成绩", 88.32);
@@ -275,7 +275,7 @@ public class ExcelWriteTest {
row1.put("考试日期", DateUtil.date());
// 通过工具类创建writer
ExcelWriter writer = ExcelUtil.getWriter("e:/writeMapTest2.xlsx");
final ExcelWriter writer = ExcelUtil.getWriter("e:/writeMapTest2.xlsx");
// 一次性写出内容,使用默认样式
writer.writeRow(row1, true);
@@ -286,7 +286,7 @@ public class ExcelWriteTest {
@Test
@Ignore
public void writeMapWithStyleTest() {
Map<String, Object> row1 = MapUtil.newHashMap(true);
final Map<String, Object> row1 = MapUtil.newHashMap(true);
row1.put("姓名", "张三");
row1.put("年龄", 23);
row1.put("成绩", 88.32);
@@ -294,16 +294,16 @@ public class ExcelWriteTest {
row1.put("考试日期", DateUtil.date());
// 通过工具类创建writer
String path = "f:/test/writeMapWithStyleTest.xlsx";
final String path = "f:/test/writeMapWithStyleTest.xlsx";
FileUtil.del(path);
ExcelWriter writer = ExcelUtil.getWriter(path);
final ExcelWriter writer = ExcelUtil.getWriter(path);
writer.setStyleSet(null);
// 一次性写出内容,使用默认样式
writer.writeRow(row1, true);
// 设置某个单元格样式
CellStyle orCreateRowStyle = writer.getOrCreateCellStyle(0, 1);
final CellStyle orCreateRowStyle = writer.getOrCreateCellStyle(0, 1);
StyleUtil.setColor(orCreateRowStyle, IndexedColors.RED.getIndex(), FillPatternType.SOLID_FOREGROUND);
// 关闭writer释放内存
@@ -313,24 +313,24 @@ public class ExcelWriteTest {
@Test
@Ignore
public void writeMapAliasTest() {
Map<Object, Object> row1 = new LinkedHashMap<>();
final Map<Object, Object> row1 = new LinkedHashMap<>();
row1.put("name", "张三");
row1.put("age", 22);
row1.put("isPass", true);
row1.put("score", 66.30);
row1.put("examDate", DateUtil.date());
Map<Object, Object> row2 = new LinkedHashMap<>();
final Map<Object, Object> row2 = new LinkedHashMap<>();
row2.put("name", "李四");
row2.put("age", 233);
row2.put("isPass", false);
row2.put("score", 32.30);
row2.put("examDate", DateUtil.date());
List<Map<Object, Object>> rows = CollUtil.newArrayList(row1, row2);
final List<Map<Object, Object>> rows = CollUtil.newArrayList(row1, row2);
// 通过工具类创建writer
String file = "d:/test/writeMapAlias.xlsx";
final String file = "d:/test/writeMapAlias.xlsx";
FileUtil.del(file);
ExcelWriter writer = ExcelUtil.getWriter(file);
final ExcelWriter writer = ExcelUtil.getWriter(file);
// 自定义标题
writer.addHeaderAlias("name", "姓名");
writer.addHeaderAlias("age", "年龄");
@@ -348,24 +348,24 @@ public class ExcelWriteTest {
@Test
@Ignore
public void writeMapOnlyAliasTest() {
Map<Object, Object> row1 = new LinkedHashMap<>();
final Map<Object, Object> row1 = new LinkedHashMap<>();
row1.put("name", "张三");
row1.put("age", 22);
row1.put("isPass", true);
row1.put("score", 66.30);
row1.put("examDate", DateUtil.date());
Map<Object, Object> row2 = new LinkedHashMap<>();
final Map<Object, Object> row2 = new LinkedHashMap<>();
row2.put("name", "李四");
row2.put("age", 233);
row2.put("isPass", false);
row2.put("score", 32.30);
row2.put("examDate", DateUtil.date());
List<Map<Object, Object>> rows = CollUtil.newArrayList(row1, row2);
final List<Map<Object, Object>> rows = CollUtil.newArrayList(row1, row2);
// 通过工具类创建writer
String file = "f:/test/test_alias.xlsx";
final String file = "f:/test/test_alias.xlsx";
FileUtil.del(file);
ExcelWriter writer = ExcelUtil.getWriter(file);
final ExcelWriter writer = ExcelUtil.getWriter(file);
writer.setOnlyAlias(true);
// 自定义标题
writer.addHeaderAlias("name", "姓名");
@@ -381,23 +381,23 @@ public class ExcelWriteTest {
@Test
@Ignore
public void writeMapOnlyAliasTest2() {
Map<Object, Object> row1 = new LinkedHashMap<>();
final Map<Object, Object> row1 = new LinkedHashMap<>();
row1.put("name", "张三");
row1.put("age", 22);
row1.put("isPass", true);
row1.put("score", 66.30);
row1.put("examDate", DateUtil.date());
Map<Object, Object> row2 = new LinkedHashMap<>();
final Map<Object, Object> row2 = new LinkedHashMap<>();
row2.put("name", "李四");
row2.put("age", 233);
row2.put("isPass", false);
row2.put("score", 32.30);
row2.put("examDate", DateUtil.date());
List<Map<Object, Object>> rows = CollUtil.newArrayList(row1, row2);
final List<Map<Object, Object>> rows = CollUtil.newArrayList(row1, row2);
// 通过工具类创建writer
String file = "d:/test/test_alias.xls";
ExcelWriter writer = ExcelUtil.getWriter(file, "test1");
final String file = "d:/test/test_alias.xls";
final ExcelWriter writer = ExcelUtil.getWriter(file, "test1");
// writer.setOnlyAlias(true);
// 自定义标题
writer.addHeaderAlias("name", "姓名");
@@ -411,24 +411,24 @@ public class ExcelWriteTest {
@Test
@Ignore
public void writeMapOnlyAliasTest3() {
Map<Object, Object> row1 = new LinkedHashMap<>();
final Map<Object, Object> row1 = new LinkedHashMap<>();
row1.put("name", "张三");
row1.put("age", 22);
row1.put("isPass", true);
row1.put("score", 66.30);
row1.put("examDate", DateUtil.date());
Map<Object, Object> row2 = new LinkedHashMap<>();
final Map<Object, Object> row2 = new LinkedHashMap<>();
row2.put("name", "李四");
// row2.put("age", 233);
row2.put("isPass", false);
row2.put("score", 32.30);
row2.put("examDate", DateUtil.date());
List<Map<Object, Object>> rows = CollUtil.newArrayList(row1, row2);
final List<Map<Object, Object>> rows = CollUtil.newArrayList(row1, row2);
// 通过工具类创建writer
String file = "d:/test/test_alias.xls";
ExcelWriter writer = ExcelUtil.getWriter(file, "test1");
final String file = "d:/test/test_alias.xls";
final ExcelWriter writer = ExcelUtil.getWriter(file, "test1");
writer.setOnlyAlias(true);
// 自定义标题
@@ -445,25 +445,25 @@ public class ExcelWriteTest {
@Test
@Ignore
public void writeBeanTest() {
cn.hutool.poi.excel.TestBean bean1 = new cn.hutool.poi.excel.TestBean();
final cn.hutool.poi.excel.TestBean bean1 = new cn.hutool.poi.excel.TestBean();
bean1.setName("张三");
bean1.setAge(22);
bean1.setPass(true);
bean1.setScore(66.30);
bean1.setExamDate(DateUtil.date());
cn.hutool.poi.excel.TestBean bean2 = new cn.hutool.poi.excel.TestBean();
final cn.hutool.poi.excel.TestBean bean2 = new cn.hutool.poi.excel.TestBean();
bean2.setName("李四");
bean2.setAge(28);
bean2.setPass(false);
bean2.setScore(38.50);
bean2.setExamDate(DateUtil.date());
List<cn.hutool.poi.excel.TestBean> rows = CollUtil.newArrayList(bean1, bean2);
final List<cn.hutool.poi.excel.TestBean> rows = CollUtil.newArrayList(bean1, bean2);
// 通过工具类创建writer
String file = "e:/writeBeanTest.xlsx";
final String file = "e:/writeBeanTest.xlsx";
FileUtil.del(file);
ExcelWriter writer = ExcelUtil.getWriter(file);
final ExcelWriter writer = ExcelUtil.getWriter(file);
// 自定义标题
writer.addHeaderAlias("name", "姓名");
writer.addHeaderAlias("age", "年龄");
@@ -481,21 +481,21 @@ public class ExcelWriteTest {
@Test
@Ignore
public void writeBeanTest2() {
cn.hutool.poi.excel.OrderExcel order1 = new cn.hutool.poi.excel.OrderExcel();
final cn.hutool.poi.excel.OrderExcel order1 = new cn.hutool.poi.excel.OrderExcel();
order1.setId("1");
order1.setNum("123");
order1.setBody("body1");
cn.hutool.poi.excel.OrderExcel order2 = new cn.hutool.poi.excel.OrderExcel();
final cn.hutool.poi.excel.OrderExcel order2 = new cn.hutool.poi.excel.OrderExcel();
order1.setId("2");
order1.setNum("456");
order1.setBody("body2");
List<cn.hutool.poi.excel.OrderExcel> rows = CollUtil.newArrayList(order1, order2);
final List<cn.hutool.poi.excel.OrderExcel> rows = CollUtil.newArrayList(order1, order2);
// 通过工具类创建writer
String file = "f:/test/writeBeanTest2.xlsx";
final String file = "f:/test/writeBeanTest2.xlsx";
FileUtil.del(file);
ExcelWriter writer = ExcelUtil.getWriter(file);
final ExcelWriter writer = ExcelUtil.getWriter(file);
// 自定义标题
writer.addHeaderAlias("id", "编号");
writer.addHeaderAlias("num", "序号");
@@ -509,7 +509,7 @@ public class ExcelWriteTest {
@Test
@Ignore
public void writeCellValueTest() {
ExcelWriter writer = new ExcelWriter("d:/cellValueTest.xls");
final ExcelWriter writer = new ExcelWriter("d:/cellValueTest.xls");
writer.writeCellValue(3, 5, "aaa");
writer.writeCellValue(3, 5, "aaa");
writer.close();
@@ -518,8 +518,8 @@ public class ExcelWriteTest {
@Test
@Ignore
public void addSelectTest() {
List<String> row = CollUtil.newArrayList("姓名", "加班日期", "下班时间", "加班时长", "餐补", "车补次数", "车补", "总计");
ExcelWriter overtimeWriter = ExcelUtil.getWriter("d:/test/single_line.xlsx");
final List<String> row = CollUtil.newArrayList("姓名", "加班日期", "下班时间", "加班时长", "餐补", "车补次数", "车补", "总计");
final ExcelWriter overtimeWriter = ExcelUtil.getWriter("d:/test/single_line.xlsx");
overtimeWriter.writeCellValue(3, 4, "AAAA");
overtimeWriter.addSelect(3, 4, row.toArray(new String[0]));
overtimeWriter.close();
@@ -528,16 +528,16 @@ public class ExcelWriteTest {
@Test
@Ignore
public void addSelectTest2() {
ExcelWriter writer = ExcelUtil.getWriter("d:/test/select.xls");
final ExcelWriter writer = ExcelUtil.getWriter("d:/test/select.xls");
writer.writeCellValue(0, 0, "请选择科目");
int firstRow = 0;
int lastRow = 0;
int firstCol = 0;
int lastCol = 0;
CellRangeAddressList addressList = new CellRangeAddressList(firstRow, lastRow, firstCol, lastCol);
final int firstRow = 0;
final int lastRow = 0;
final int firstCol = 0;
final int lastCol = 0;
final CellRangeAddressList addressList = new CellRangeAddressList(firstRow, lastRow, firstCol, lastCol);
writer.addSelect(addressList, "1001", "1002", "1003");
List<?> rows = new ArrayList<>();
final List<?> rows = new ArrayList<>();
writer.write(rows, true);
writer.close();
@@ -546,15 +546,15 @@ public class ExcelWriteTest {
@Test
@Ignore
public void writeMultiSheetTest() {
List<Map<String, Object>> rows = new LinkedList<>();
final List<Map<String, Object>> rows = new LinkedList<>();
for (int i = 0; i < 10; i++) {
Map<String, Object> tempList = new TreeMap<>();
final Map<String, Object> tempList = new TreeMap<>();
for (int j = 0; j < 10; j++) {
tempList.put(j + "", IdUtil.randomUUID());
}
rows.add(tempList);
}
ExcelWriter writer = ExcelUtil.getWriter("D:\\test\\multiSheet.xlsx", "正常数据");
final ExcelWriter writer = ExcelUtil.getWriter("D:\\test\\multiSheet.xlsx", "正常数据");
writer.addHeaderAlias("1", "row1");
writer.addHeaderAlias("3", "row2");
writer.setOnlyAlias(true);
@@ -581,19 +581,19 @@ public class ExcelWriteTest {
@Test
@Ignore
public void writeMultiSheetTest2() {
List<Map<String, Object>> rows = new LinkedList<>();
final List<Map<String, Object>> rows = new LinkedList<>();
final HashMap<String, Object> map = MapUtil.newHashMap();
map.put("k1", "v1");
map.put("k2", "v2");
map.put("k3", "v3");
rows.add(map);
ExcelWriter writer = ExcelUtil.getWriter("D:\\test\\multiSheet2.xlsx", "正常数据");
final ExcelWriter writer = ExcelUtil.getWriter("D:\\test\\multiSheet2.xlsx", "正常数据");
writer.write(rows);
//表2
writer.setSheet("表2");
List<Map<String, Object>> rows2 = new LinkedList<>();
final List<Map<String, Object>> rows2 = new LinkedList<>();
final HashMap<String, Object> map2 = MapUtil.newHashMap();
map2.put("x1", "v1");
rows2.add(map2);
@@ -605,10 +605,10 @@ public class ExcelWriteTest {
@Test
@Ignore
public void writeMultiSheetWithStyleTest() {
ExcelWriter writer = ExcelUtil.getWriter("D:\\test\\multiSheetWithStyle.xlsx", "表格1");
final ExcelWriter writer = ExcelUtil.getWriter("D:\\test\\multiSheetWithStyle.xlsx", "表格1");
// 表1
List<Map<String, Object>> rows = new LinkedList<>();
final List<Map<String, Object>> rows = new LinkedList<>();
final HashMap<String, Object> map = MapUtil.newHashMap();
map.put("k1", "v1");
map.put("k2", "v2");
@@ -616,7 +616,7 @@ public class ExcelWriteTest {
rows.add(map);
writer.write(rows);
Font headFont = writer.createFont();
final Font headFont = writer.createFont();
headFont.setBold(true);
headFont.setFontHeightInPoints((short)50);
headFont.setFontName("Microsoft YaHei");
@@ -624,7 +624,7 @@ public class ExcelWriteTest {
//表2
writer.setSheet("表2");
List<Map<String, Object>> rows2 = new LinkedList<>();
final List<Map<String, Object>> rows2 = new LinkedList<>();
final HashMap<String, Object> map2 = MapUtil.newHashMap();
map2.put("x1", "v1");
rows2.add(map2);
@@ -636,19 +636,19 @@ public class ExcelWriteTest {
@Test
@Ignore
public void writeMapsTest() {
List<Map<String, Object>> rows = new ArrayList<>();
final List<Map<String, Object>> rows = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
final Map<String, Object> map1 = new HashMap<>();
map1.put("a", 1);
map1.put("b", 2);
map1.put("c", 3);
map1.put("d", 4);
map1.put("e", 5);
Map<String, Object> map2 = new HashMap<>();
final Map<String, Object> map2 = new HashMap<>();
map2.put("c", 3);
map2.put("d", 4);
map2.put("e", 5);
Map<String, Object> map3 = new HashMap<>();
final Map<String, Object> map3 = new HashMap<>();
map3.put("d", 4);
map3.put("e", 5);
@@ -684,23 +684,23 @@ public class ExcelWriteTest {
@Test
@Ignore
public void writeSecHeadRowTest() {
List<?> row1 = CollUtil.newArrayList(1, "aa", "bb", "cc", "dd", "ee");
List<?> row2 = CollUtil.newArrayList(2, "aa1", "bb1", "cc1", "dd1", "ee1");
List<?> row3 = CollUtil.newArrayList(3, "aa2", "bb2", "cc2", "dd2", "ee2");
List<?> row4 = CollUtil.newArrayList(4, "aa3", "bb3", "cc3", "dd3", "ee3");
List<?> row5 = CollUtil.newArrayList(5, "aa4", "bb4", "cc4", "dd4", "ee4");
final List<?> row1 = CollUtil.newArrayList(1, "aa", "bb", "cc", "dd", "ee");
final List<?> row2 = CollUtil.newArrayList(2, "aa1", "bb1", "cc1", "dd1", "ee1");
final List<?> row3 = CollUtil.newArrayList(3, "aa2", "bb2", "cc2", "dd2", "ee2");
final List<?> row4 = CollUtil.newArrayList(4, "aa3", "bb3", "cc3", "dd3", "ee3");
final List<?> row5 = CollUtil.newArrayList(5, "aa4", "bb4", "cc4", "dd4", "ee4");
List<List<?>> rows = CollUtil.newArrayList(row1, row2, row3, row4, row5);
final List<List<?>> rows = CollUtil.newArrayList(row1, row2, row3, row4, row5);
// 通过工具类创建writer
ExcelWriter writer = ExcelUtil.getWriter("d:/test/writeSecHeadRowTest.xlsx");
final ExcelWriter writer = ExcelUtil.getWriter("d:/test/writeSecHeadRowTest.xlsx");
CellStyle cellStyle = writer.getWorkbook().createCellStyle();
final CellStyle cellStyle = writer.getWorkbook().createCellStyle();
cellStyle.setWrapText(false);
cellStyle.setAlignment(HorizontalAlignment.CENTER);
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
//设置标题内容字体
Font font = writer.createFont();
final Font font = writer.createFont();
font.setBold(true);
font.setFontHeightInPoints((short) 15);
font.setFontName("Arial");
@@ -719,7 +719,7 @@ public class ExcelWriteTest {
writer.merge(2, 2, 4, 5, "DDEE", true);
writer.setCurrentRow(3);
List<String> sechead = CollUtil.newArrayList("AA", "BB", "DD", "EE");
final List<String> sechead = CollUtil.newArrayList("AA", "BB", "DD", "EE");
writer.writeSecHeadRow(sechead);
// 一次性写出内容,使用默认样式
writer.write(rows);
@@ -735,17 +735,17 @@ public class ExcelWriteTest {
@Ignore
public void editTest() {
// 生成文件
File file = new File("d:/test/100_.xlsx");
final File file = new File("d:/test/100_.xlsx");
FileUtil.del(file);
BigExcelWriter writer = ExcelUtil.getBigWriter(file);
final BigExcelWriter writer = ExcelUtil.getBigWriter(file);
writer.disableDefaultStyle();
List<List<String>> rows = Collections.singletonList(Arrays.asList("哈哈", "嘿嘿"));
final List<List<String>> rows = Collections.singletonList(Arrays.asList("哈哈", "嘿嘿"));
writer.write(rows);
writer.close();
// 修改文件
ExcelWriter writer2 = ExcelUtil.getWriter(file);
final ExcelWriter writer2 = ExcelUtil.getWriter(file);
writer2.disableDefaultStyle();
writer2.writeCellValue(0, 0, "a");
writer2.close();
@@ -759,22 +759,22 @@ public class ExcelWriteTest {
public void mergeTest3(){
// https://github.com/dromara/hutool/issues/1696
List<Map<String,Object>> list = new ArrayList<>();
Map<String,Object> map = new HashMap<>();
final List<Map<String,Object>> list = new ArrayList<>();
final Map<String,Object> map = new HashMap<>();
map.put("xmnf","2021");
list.add(map);
Map<String,Object> map1 = new HashMap<>();
final Map<String,Object> map1 = new HashMap<>();
map1.put("xmnf",new XSSFRichTextString("9999"));
list.add(map1);
Map<String,Object> map2 = new HashMap<>();
final Map<String,Object> map2 = new HashMap<>();
map2.put("xmnf","2019");
list.add(map2);
//通过工具类创建writer
FileUtil.del("d:/test/writeTest2123.xlsx");
ExcelWriter writer = ExcelUtil.getWriter("d:/test/writeTest2123.xlsx");
final ExcelWriter writer = ExcelUtil.getWriter("d:/test/writeTest2123.xlsx");
writer.addHeaderAlias("xmnf", "项目年份");//1
//合并单元格后的标题行,使用默认标题样式
@@ -790,9 +790,9 @@ public class ExcelWriteTest {
// https://github.com/dromara/hutool/issues/1911
//通过工具类创建writer
String path = "d:/test/mergeForDate.xlsx";
final String path = "d:/test/mergeForDate.xlsx";
FileUtil.del(path);
ExcelWriter writer = ExcelUtil.getWriter(path);
final ExcelWriter writer = ExcelUtil.getWriter(path);
writer.merge(0, 3, 0, 2, DateUtil.date(), false);
writer.close();
}
@@ -813,7 +813,7 @@ public class ExcelWriteTest {
@Ignore
public void writeFloatTest(){
//issue https://gitee.com/dromara/hutool/issues/I43U9G
String path = "d:/test/floatTest.xlsx";
final String path = "d:/test/floatTest.xlsx";
FileUtil.del(path);
final ExcelWriter writer = ExcelUtil.getWriter(path);
@@ -827,9 +827,9 @@ public class ExcelWriteTest {
// https://gitee.com/dromara/hutool/issues/I466ZZ
// 需要输出S_20000314_x5116_0004
// 此处加入一个转义前缀_x005F
List<Object> row = ListUtil.of(new EscapeStrCellSetter("S_20000314_x5116_0004"));
final List<Object> row = ListUtil.of(new EscapeStrCellSetter("S_20000314_x5116_0004"));
ExcelWriter writer = ExcelUtil.getWriter("d:/test/_x.xlsx");
final ExcelWriter writer = ExcelUtil.getWriter("d:/test/_x.xlsx");
writer.writeRow(row);
writer.close();
}
@@ -857,10 +857,10 @@ public class ExcelWriteTest {
@Test
@Ignore
public void mergeNumberTest(){
File tempFile=new File("d:/test/mergeNumber.xlsx");
final File tempFile=new File("d:/test/mergeNumber.xlsx");
FileUtil.del(tempFile);
BigExcelWriter writer= new BigExcelWriter(tempFile);
final BigExcelWriter writer= new BigExcelWriter(tempFile);
writer.merge(0,1,2,2,3.99,false);
writer.close();
}
@@ -868,9 +868,9 @@ public class ExcelWriteTest {
@Test
@Ignore
public void writeImgTest() {
ExcelWriter writer = ExcelUtil.getWriter(true);
final ExcelWriter writer = ExcelUtil.getWriter(true);
File file = new File("C:\\Users\\zsz\\Desktop\\1.jpg");
final File file = new File("C:\\Users\\zsz\\Desktop\\1.jpg");
writer.writeImg(file, 0, 0, 5, 10);
@@ -881,7 +881,7 @@ public class ExcelWriteTest {
@Test
public void getDispositionTest(){
ExcelWriter writer = ExcelUtil.getWriter(true);
final ExcelWriter writer = ExcelUtil.getWriter(true);
final String disposition = writer.getDisposition("测试A12.xlsx", CharsetUtil.UTF_8);
Assert.assertEquals("attachment; filename=\"%E6%B5%8B%E8%AF%95A12.xlsx\"", disposition);
}

View File

@@ -27,7 +27,7 @@ public class Issue2221Test {
writer.setOnlyAlias(true);
// 写入数据
List<Map<Object, Object>> data = ListUtil.of(
final List<Map<Object, Object>> data = ListUtil.of(
MapUtil.ofEntries(MapUtil.entry("androidLc", "1次"), MapUtil.entry("androidAc", "3人")),
MapUtil.ofEntries(MapUtil.entry("androidLc", "1次"), MapUtil.entry("androidAc", "3人"))
);
@@ -40,18 +40,18 @@ public class Issue2221Test {
@Ignore
public void writeDuplicateHeaderAliasTest2(){
// 获取写Excel的流
ExcelWriter writer = ExcelUtil.getBigWriter("d:/test/duplicateAlias2.xlsx");
final ExcelWriter writer = ExcelUtil.getBigWriter("d:/test/duplicateAlias2.xlsx");
// 设置头部的背景颜色
StyleUtil.setColor(writer.getHeadCellStyle(), IndexedColors.GREY_50_PERCENT, FillPatternType.SOLID_FOREGROUND);
//设置全局字体
Font font = writer.createFont();
final Font font = writer.createFont();
font.setFontName("Microsoft YaHei");
writer.getStyleSet().setFont(font, false);
// 设置头部的字体为白颜色
Font headerFont = writer.createFont();
final Font headerFont = writer.createFont();
headerFont.setColor(IndexedColors.WHITE.getIndex());
writer.getHeadCellStyle().setFont(headerFont);
@@ -75,7 +75,7 @@ public class Issue2221Test {
writer.merge(0, 0, 3, 4, "新增人数", true);
// 写入数据
List<Map<Object, Object>> data = ListUtil.of(
final List<Map<Object, Object>> data = ListUtil.of(
MapUtil.ofEntries(
MapUtil.entry("date", "2022-01-01"),
MapUtil.entry("androidLc", "1次"),

View File

@@ -17,8 +17,8 @@ public class IssueI53OSTTest {
@Test
@Ignore
public void readTest(){
Map<String, Object> result = new HashMap<>();
List<Object> header = new ArrayList<>();
final Map<String, Object> result = new HashMap<>();
final List<Object> header = new ArrayList<>();
ExcelUtil.readBySax("d:/test/sax_merge.xlsx", -1, (sheetIndex, rowIndex, rowCells) -> {
if(rowIndex == 0){

View File

@@ -10,12 +10,12 @@ public class NumericCellValueTest {
@Test
public void writeTest() {
final ExcelReader reader = ExcelUtil.getReader("1899bug_demo.xlsx");
ExcelWriter writer = ExcelUtil.getWriter("1899bug_write.xlsx");
Cell cell = reader.getCell(0, 0);
final ExcelWriter writer = ExcelUtil.getWriter("1899bug_write.xlsx");
final Cell cell = reader.getCell(0, 0);
// 直接取值
// 和CellUtil.getCellValue(org.apache.poi.ss.usermodel.Cell)方法的结果一样
// 1899-12-31 04:39:00
Date cellValue = cell.getDateCellValue();
final Date cellValue = cell.getDateCellValue();
// 将这个值写入EXCEL中自定义样式的单元格结果会是-1
writer.writeCellValue(0, 0, cellValue);
// 修改后的写入,单元格内容正常

View File

@@ -20,7 +20,7 @@ public class WordWriterTest {
@Test
@Ignore
public void writeTest() {
Word07Writer writer = new Word07Writer();
final Word07Writer writer = new Word07Writer();
writer.addText(new Font("方正小标宋简体", Font.PLAIN, 22), "我是第一部分", "我是第二部分");
writer.addText(new Font("宋体", Font.PLAIN, 22), "我是正文第一部分", "我是正文第二部分");
writer.flush(FileUtil.file("e:/wordWrite.docx"));
@@ -31,7 +31,7 @@ public class WordWriterTest {
@Test
@Ignore
public void writePicTest() {
Word07Writer writer = new Word07Writer();
final Word07Writer writer = new Word07Writer();
writer.addPicture(new File("d:\\test\\qrcodeCustom.jpg"), 100, 200);
// 写出到文件
writer.flush(FileUtil.file("d:/test/writePic.docx"));
@@ -43,7 +43,7 @@ public class WordWriterTest {
@Ignore
public void writeTableTest(){
final Word07Writer writer = new Word07Writer();
Map<String, Object> map = new LinkedHashMap<>();
final Map<String, Object> map = new LinkedHashMap<>();
map.put("姓名", "张三");
map.put("年龄", "23");
map.put("成绩", 88.32);
@@ -56,23 +56,23 @@ public class WordWriterTest {
@Test
@Ignore
public void writeMapAsTableTest() {
Word07Writer writer = new Word07Writer();
final Word07Writer writer = new Word07Writer();
Map<String, Object> data = new LinkedHashMap<>();
final Map<String, Object> data = new LinkedHashMap<>();
data.put("姓名", "张三");
data.put("年龄", 23);
data.put("成绩", 80.5);
data.put("是否合格", true);
data.put("考试日期", DateUtil.date());
Map<String, Object> data2 = new LinkedHashMap<>();
final Map<String, Object> data2 = new LinkedHashMap<>();
data2.put("姓名", "李四");
data2.put("年龄", 4);
data2.put("成绩", 59);
data2.put("是否合格", false);
data2.put("考试日期", DateUtil.date());
ArrayList<Map<String, Object>> mapArrayList = CollUtil.newArrayList(data, data2);
final ArrayList<Map<String, Object>> mapArrayList = CollUtil.newArrayList(data, data2);
// 添加段落(标题)
writer.addText(new Font("方正小标宋简体", Font.PLAIN, 22), "我是第一部分");