diff --git a/hutool-poi/src/test/java/cn/hutool/v7/poi/excel/reader/ExcelSaxReadTest.java b/hutool-poi/src/test/java/cn/hutool/v7/poi/excel/sax/ExcelSaxReadTest.java similarity index 98% rename from hutool-poi/src/test/java/cn/hutool/v7/poi/excel/reader/ExcelSaxReadTest.java rename to hutool-poi/src/test/java/cn/hutool/v7/poi/excel/sax/ExcelSaxReadTest.java index 7509de9259..c885f3df4d 100644 --- a/hutool-poi/src/test/java/cn/hutool/v7/poi/excel/reader/ExcelSaxReadTest.java +++ b/hutool-poi/src/test/java/cn/hutool/v7/poi/excel/sax/ExcelSaxReadTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package cn.hutool.v7.poi.excel.reader; +package cn.hutool.v7.poi.excel.sax; import cn.hutool.v7.core.collection.CollUtil; import cn.hutool.v7.core.collection.ListUtil; @@ -25,8 +25,6 @@ import cn.hutool.v7.core.lang.Console; import cn.hutool.v7.core.text.StrUtil; import cn.hutool.v7.poi.excel.ExcelUtil; import cn.hutool.v7.poi.excel.cell.values.FormulaCellValue; -import cn.hutool.v7.poi.excel.sax.Excel03SaxReader; -import cn.hutool.v7.poi.excel.sax.StopReadException; import cn.hutool.v7.poi.excel.sax.handler.RowHandler; import cn.hutool.v7.poi.POIException; import org.apache.poi.ss.usermodel.CellStyle; diff --git a/hutool-poi/src/test/java/cn/hutool/v7/poi/excel/sax/Issue4195Test.java b/hutool-poi/src/test/java/cn/hutool/v7/poi/excel/sax/Issue4195Test.java new file mode 100644 index 0000000000..65974199b4 --- /dev/null +++ b/hutool-poi/src/test/java/cn/hutool/v7/poi/excel/sax/Issue4195Test.java @@ -0,0 +1,23 @@ +package cn.hutool.v7.poi.excel.sax; + +import cn.hutool.v7.core.lang.Console; +import cn.hutool.v7.poi.excel.ExcelUtil; +import cn.hutool.v7.poi.excel.cell.values.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 final FormulaCellValue result) { + 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