diff --git a/hutool-poi/src/test/java/cn/hutool/poi/excel/ExcelSaxReadTest.java b/hutool-poi/src/test/java/cn/hutool/poi/excel/ExcelSaxReadTest.java index 2107b43b3..cd0cb8f95 100644 --- a/hutool-poi/src/test/java/cn/hutool/poi/excel/ExcelSaxReadTest.java +++ b/hutool-poi/src/test/java/cn/hutool/poi/excel/ExcelSaxReadTest.java @@ -18,6 +18,7 @@ import org.junit.Test; import java.io.File; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; /** * Excel sax方式读取 @@ -133,13 +134,12 @@ public class ExcelSaxReadTest { } @Test - @Ignore public void handle03CellTest() { - ExcelUtil.readBySax("d:/test/test.xls", -1, new RowHandler() { + ExcelUtil.readBySax("test.xls", -1, new RowHandler() { @Override public void handleCell(final int sheetIndex, final long rowIndex, final int cellIndex, final Object value, final CellStyle xssfCellStyle) { - Console.log("{} {} {}", rowIndex, cellIndex, value); + //Console.log("{} {} {}", rowIndex, cellIndex, value); } @Override @@ -153,9 +153,9 @@ public class ExcelSaxReadTest { public void formulaRead03Test() { final List rows = new ArrayList<>(); ExcelUtil.readBySax("data_for_sax_test.xls", -1, (i, i1, list) -> { - if(list.size() > 1){ + if (list.size() > 1) { rows.add(list.get(1)); - } else{ + } else { rows.add(""); } }); @@ -220,8 +220,27 @@ public class ExcelSaxReadTest { @Test @Ignore - public void readXlsmTest(){ + public void readXlsmTest() { ExcelUtil.readBySax("d:/test/WhiteListTemplate.xlsm", -1, (sheetIndex, rowIndex, rowlist) -> Console.log("[{}] [{}] {}", sheetIndex, rowIndex, rowlist)); } + + @Test + public void doAfterAllAnalysedTest() { + final String path = "readBySax.xls"; + final AtomicInteger doAfterAllAnalysedTime = new AtomicInteger(0); + ExcelUtil.readBySax(path, -1, new RowHandler() { + @Override + public void handle(final int sheetIndex, final long rowIndex, final List rowCells) { + //Console.log("sheetIndex={};rowIndex={},rowCells={}",sheetIndex,rowIndex,rowCells); + } + + @Override + public void doAfterAllAnalysed() { + doAfterAllAnalysedTime.addAndGet(1); + } + }); + //总共2个sheet页,读取所有sheet时,一共执行doAfterAllAnalysed2次。 + Assert.assertEquals(2, doAfterAllAnalysedTime.intValue()); + } } diff --git a/hutool-poi/src/test/resources/readBySax.xls b/hutool-poi/src/test/resources/readBySax.xls new file mode 100755 index 000000000..131b8cfcf Binary files /dev/null and b/hutool-poi/src/test/resources/readBySax.xls differ diff --git a/hutool-poi/src/test/resources/test.xls b/hutool-poi/src/test/resources/test.xls new file mode 100755 index 000000000..07200c82a Binary files /dev/null and b/hutool-poi/src/test/resources/test.xls differ