diff --git a/hutool-poi/src/test/java/cn/hutool/poi/excel/ExcelSaxReadTest.java b/hutool-poi/src/test/java/cn/hutool/poi/excel/sax/ExcelSaxReadTest.java similarity index 98% rename from hutool-poi/src/test/java/cn/hutool/poi/excel/ExcelSaxReadTest.java rename to hutool-poi/src/test/java/cn/hutool/poi/excel/sax/ExcelSaxReadTest.java index 2f52c1a0eb..107fa97445 100644 --- a/hutool-poi/src/test/java/cn/hutool/poi/excel/ExcelSaxReadTest.java +++ b/hutool-poi/src/test/java/cn/hutool/poi/excel/sax/ExcelSaxReadTest.java @@ -1,4 +1,4 @@ -package cn.hutool.poi.excel; +package cn.hutool.poi.excel.sax; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; @@ -6,9 +6,8 @@ import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.IoUtil; import cn.hutool.core.lang.Console; import cn.hutool.core.util.StrUtil; +import cn.hutool.poi.excel.ExcelUtil; import cn.hutool.poi.excel.cell.FormulaCellValue; -import cn.hutool.poi.excel.sax.Excel03SaxReader; -import cn.hutool.poi.excel.sax.StopReadException; import cn.hutool.poi.excel.sax.handler.RowHandler; import cn.hutool.poi.exceptions.POIException; import org.apache.poi.ss.usermodel.CellStyle; diff --git a/hutool-poi/src/test/java/cn/hutool/poi/excel/sax/Issue4195Test.java b/hutool-poi/src/test/java/cn/hutool/poi/excel/sax/Issue4195Test.java new file mode 100644 index 0000000000..cb8fe1543d --- /dev/null +++ b/hutool-poi/src/test/java/cn/hutool/poi/excel/sax/Issue4195Test.java @@ -0,0 +1,24 @@ +package cn.hutool.poi.excel.sax; + +import cn.hutool.core.lang.Console; +import cn.hutool.poi.excel.ExcelUtil; +import cn.hutool.poi.excel.cell.FormulaCellValue; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +public class Issue4195Test { + @Test + @Disabled + void saxReadFormulaTest() { + // 测试公式读取 + ExcelUtil.readBySax("formula_test.xlsx", -1, (sheetIndex, rowIndex, rowCells) -> { + final Object value = rowCells.get(2); + if(value instanceof FormulaCellValue) { + final FormulaCellValue result = ((FormulaCellValue) value); + Console.log("公式 {} 结果: {}", result.getValue(), result.getResult()); + }else{ + Console.log("非公式: {}", value.getClass()); + } + }); + } +} diff --git a/hutool-poi/src/test/resources/formula_test.xlsx b/hutool-poi/src/test/resources/formula_test.xlsx new file mode 100644 index 0000000000..f2251ccf0a Binary files /dev/null and b/hutool-poi/src/test/resources/formula_test.xlsx differ