diff --git a/src/main/java/com/alibaba/excel/analysis/v07/handlers/AbstractXlsxTagHandler.java b/src/main/java/com/alibaba/excel/analysis/v07/handlers/AbstractXlsxTagHandler.java index 169fe00..10ee975 100644 --- a/src/main/java/com/alibaba/excel/analysis/v07/handlers/AbstractXlsxTagHandler.java +++ b/src/main/java/com/alibaba/excel/analysis/v07/handlers/AbstractXlsxTagHandler.java @@ -1,5 +1,6 @@ package com.alibaba.excel.analysis.v07.handlers; +import com.alibaba.excel.enums.CellExtraTypeEnum; import org.xml.sax.Attributes; import com.alibaba.excel.context.xlsx.XlsxReadContext; @@ -12,7 +13,7 @@ import com.alibaba.excel.context.xlsx.XlsxReadContext; public abstract class AbstractXlsxTagHandler implements XlsxTagHandler { @Override public boolean support(XlsxReadContext xlsxReadContext) { - return true; + return xlsxReadContext.readWorkbookHolder().getParseCell(); } @Override diff --git a/src/main/java/com/alibaba/excel/read/metadata/ReadWorkbook.java b/src/main/java/com/alibaba/excel/read/metadata/ReadWorkbook.java index c9e4db9..4dc3875 100644 --- a/src/main/java/com/alibaba/excel/read/metadata/ReadWorkbook.java +++ b/src/main/java/com/alibaba/excel/read/metadata/ReadWorkbook.java @@ -85,6 +85,12 @@ public class ReadWorkbook extends ReadBasicParameter { * The {@link ModelBuildEventListener} is loaded by default to convert the object. */ private Boolean useDefaultListener; + + /** + * Whether to parse CellData. Default is true. + */ + private Boolean parseCell; + /** * Read some additional fields. None are read by default. * @@ -221,6 +227,14 @@ public class ReadWorkbook extends ReadBasicParameter { this.useDefaultListener = useDefaultListener; } + public Boolean getParseCell() { + return parseCell; + } + + public void setParseCell(Boolean parseCell) { + this.parseCell = parseCell; + } + public Set getExtraReadSet() { return extraReadSet; } diff --git a/src/main/java/com/alibaba/excel/read/metadata/holder/ReadWorkbookHolder.java b/src/main/java/com/alibaba/excel/read/metadata/holder/ReadWorkbookHolder.java index 375e32c..64be355 100644 --- a/src/main/java/com/alibaba/excel/read/metadata/holder/ReadWorkbookHolder.java +++ b/src/main/java/com/alibaba/excel/read/metadata/holder/ReadWorkbookHolder.java @@ -82,6 +82,10 @@ public class ReadWorkbookHolder extends AbstractReadHolder { * Whether the encryption */ private String password; + /** + * Whether to parse CellData + */ + private Boolean parseCell; /** * Read some additional fields. None are read by default. * @@ -162,6 +166,11 @@ public class ReadWorkbookHolder extends AbstractReadHolder { } else { this.defaultReturnMap = readWorkbook.getDefaultReturnMap(); } + if (readWorkbook.getParseCell() == null) { + this.parseCell = Boolean.TRUE; + } else { + this.parseCell = readWorkbook.getParseCell(); + } if (readWorkbook.getExtraReadSet() == null) { this.extraReadSet = new HashSet(); } else { @@ -291,6 +300,14 @@ public class ReadWorkbookHolder extends AbstractReadHolder { this.password = password; } + public Boolean getParseCell() { + return parseCell; + } + + public void setParseCell(Boolean parseCell) { + this.parseCell = parseCell; + } + public Set getExtraReadSet() { return extraReadSet; }