diff --git a/easyexcel b/easyexcel
deleted file mode 160000
index 4076b897..00000000
--- a/easyexcel
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 4076b897953b18f9e96c278c6929325e89f2be12
diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/BlankRecordHandler.java b/src/main/java/com/alibaba/excel/analysis/v03/handlers/BlankRecordHandler.java
index 30f09273..25d1338e 100644
--- a/src/main/java/com/alibaba/excel/analysis/v03/handlers/BlankRecordHandler.java
+++ b/src/main/java/com/alibaba/excel/analysis/v03/handlers/BlankRecordHandler.java
@@ -1,11 +1,11 @@
package com.alibaba.excel.analysis.v03.handlers;
-import org.apache.poi.hssf.record.BlankRecord;
-import org.apache.poi.hssf.record.Record;
-
import com.alibaba.excel.analysis.v03.IgnorableXlsRecordHandler;
import com.alibaba.excel.context.xls.XlsReadContext;
-import com.alibaba.excel.metadata.data.CellData;
+import com.alibaba.excel.metadata.data.ReadCellData;
+
+import org.apache.poi.hssf.record.BlankRecord;
+import org.apache.poi.hssf.record.Record;
/**
* Record handler
@@ -18,6 +18,6 @@ public class BlankRecordHandler extends AbstractXlsRecordHandler implements Igno
public void processRecord(XlsReadContext xlsReadContext, Record record) {
BlankRecord br = (BlankRecord)record;
xlsReadContext.xlsReadSheetHolder().getCellMap().put((int)br.getColumn(),
- CellData.newEmptyInstance(br.getRow(), (int)br.getColumn()));
+ ReadCellData.newEmptyInstance(br.getRow(), (int)br.getColumn()));
}
}
diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/BoolErrRecordHandler.java b/src/main/java/com/alibaba/excel/analysis/v03/handlers/BoolErrRecordHandler.java
index 1afb6c1f..19665907 100644
--- a/src/main/java/com/alibaba/excel/analysis/v03/handlers/BoolErrRecordHandler.java
+++ b/src/main/java/com/alibaba/excel/analysis/v03/handlers/BoolErrRecordHandler.java
@@ -1,12 +1,12 @@
package com.alibaba.excel.analysis.v03.handlers;
-import org.apache.poi.hssf.record.BoolErrRecord;
-import org.apache.poi.hssf.record.Record;
-
import com.alibaba.excel.analysis.v03.IgnorableXlsRecordHandler;
import com.alibaba.excel.context.xls.XlsReadContext;
import com.alibaba.excel.enums.RowTypeEnum;
-import com.alibaba.excel.metadata.data.CellData;
+import com.alibaba.excel.metadata.data.ReadCellData;
+
+import org.apache.poi.hssf.record.BoolErrRecord;
+import org.apache.poi.hssf.record.Record;
/**
* Record handler
@@ -19,7 +19,7 @@ public class BoolErrRecordHandler extends AbstractXlsRecordHandler implements Ig
public void processRecord(XlsReadContext xlsReadContext, Record record) {
BoolErrRecord ber = (BoolErrRecord)record;
xlsReadContext.xlsReadSheetHolder().getCellMap().put((int)ber.getColumn(),
- CellData.newInstance(ber.getBooleanValue(), ber.getRow(), (int)ber.getColumn()));
+ ReadCellData.newInstance(ber.getBooleanValue(), ber.getRow(), (int)ber.getColumn()));
xlsReadContext.xlsReadSheetHolder().setTempRowType(RowTypeEnum.DATA);
}
}
diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/DummyRecordHandler.java b/src/main/java/com/alibaba/excel/analysis/v03/handlers/DummyRecordHandler.java
index eb5bd2ae..8ecc33a4 100644
--- a/src/main/java/com/alibaba/excel/analysis/v03/handlers/DummyRecordHandler.java
+++ b/src/main/java/com/alibaba/excel/analysis/v03/handlers/DummyRecordHandler.java
@@ -2,18 +2,18 @@ package com.alibaba.excel.analysis.v03.handlers;
import java.util.LinkedHashMap;
-import org.apache.poi.hssf.eventusermodel.dummyrecord.LastCellOfRowDummyRecord;
-import org.apache.poi.hssf.eventusermodel.dummyrecord.MissingCellDummyRecord;
-import org.apache.poi.hssf.record.Record;
-
import com.alibaba.excel.analysis.v03.IgnorableXlsRecordHandler;
import com.alibaba.excel.context.xls.XlsReadContext;
import com.alibaba.excel.enums.RowTypeEnum;
import com.alibaba.excel.metadata.Cell;
-import com.alibaba.excel.metadata.data.CellData;
+import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.read.metadata.holder.ReadRowHolder;
import com.alibaba.excel.read.metadata.holder.xls.XlsReadSheetHolder;
+import org.apache.poi.hssf.eventusermodel.dummyrecord.LastCellOfRowDummyRecord;
+import org.apache.poi.hssf.eventusermodel.dummyrecord.MissingCellDummyRecord;
+import org.apache.poi.hssf.record.Record;
+
/**
* Record handler
*
@@ -35,7 +35,7 @@ public class DummyRecordHandler extends AbstractXlsRecordHandler implements Igno
} else if (record instanceof MissingCellDummyRecord) {
MissingCellDummyRecord mcdr = (MissingCellDummyRecord)record;
xlsReadSheetHolder.getCellMap().put(mcdr.getColumn(),
- CellData.newEmptyInstance(mcdr.getRow(), mcdr.getColumn()));
+ ReadCellData.newEmptyInstance(mcdr.getRow(), mcdr.getColumn()));
}
}
}
diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/LabelRecordHandler.java b/src/main/java/com/alibaba/excel/analysis/v03/handlers/LabelRecordHandler.java
index 39481de0..a90ad6bb 100644
--- a/src/main/java/com/alibaba/excel/analysis/v03/handlers/LabelRecordHandler.java
+++ b/src/main/java/com/alibaba/excel/analysis/v03/handlers/LabelRecordHandler.java
@@ -1,12 +1,12 @@
package com.alibaba.excel.analysis.v03.handlers;
-import org.apache.poi.hssf.record.LabelRecord;
-import org.apache.poi.hssf.record.Record;
-
import com.alibaba.excel.analysis.v03.IgnorableXlsRecordHandler;
import com.alibaba.excel.context.xls.XlsReadContext;
import com.alibaba.excel.enums.RowTypeEnum;
-import com.alibaba.excel.metadata.data.CellData;
+import com.alibaba.excel.metadata.data.ReadCellData;
+
+import org.apache.poi.hssf.record.LabelRecord;
+import org.apache.poi.hssf.record.Record;
/**
* Record handler
@@ -22,7 +22,7 @@ public class LabelRecordHandler extends AbstractXlsRecordHandler implements Igno
data = data.trim();
}
xlsReadContext.xlsReadSheetHolder().getCellMap().put((int)lrec.getColumn(),
- CellData.newInstance(data, lrec.getRow(), (int)lrec.getColumn()));
+ ReadCellData.newInstance(data, lrec.getRow(), (int)lrec.getColumn()));
xlsReadContext.xlsReadSheetHolder().setTempRowType(RowTypeEnum.DATA);
}
}
diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/LabelSstRecordHandler.java b/src/main/java/com/alibaba/excel/analysis/v03/handlers/LabelSstRecordHandler.java
index 0075254c..fd464e54 100644
--- a/src/main/java/com/alibaba/excel/analysis/v03/handlers/LabelSstRecordHandler.java
+++ b/src/main/java/com/alibaba/excel/analysis/v03/handlers/LabelSstRecordHandler.java
@@ -2,15 +2,15 @@ package com.alibaba.excel.analysis.v03.handlers;
import java.util.Map;
-import org.apache.poi.hssf.record.LabelSSTRecord;
-import org.apache.poi.hssf.record.Record;
-
import com.alibaba.excel.analysis.v03.IgnorableXlsRecordHandler;
import com.alibaba.excel.cache.ReadCache;
import com.alibaba.excel.context.xls.XlsReadContext;
import com.alibaba.excel.enums.RowTypeEnum;
import com.alibaba.excel.metadata.Cell;
-import com.alibaba.excel.metadata.data.CellData;
+import com.alibaba.excel.metadata.data.ReadCellData;
+
+import org.apache.poi.hssf.record.LabelSSTRecord;
+import org.apache.poi.hssf.record.Record;
/**
* Record handler
@@ -25,18 +25,18 @@ public class LabelSstRecordHandler extends AbstractXlsRecordHandler implements I
ReadCache readCache = xlsReadContext.readWorkbookHolder().getReadCache();
Maptrue
make all content visible within a
* cell by displaying it on multiple lines
- *
*/
boolean wrapped() default true;
@@ -108,7 +107,6 @@ public @interface HeadStyle {
* Set the color to use for the right border
*
* @see IndexedColors
- *
*/
short rightBorderColor() default -1;
@@ -116,7 +114,6 @@ public @interface HeadStyle {
* Set the color to use for the top border
*
* @see IndexedColors
- *
*/
short topBorderColor() default -1;
@@ -124,7 +121,6 @@ public @interface HeadStyle {
* Set the color to use for the bottom border
*
* @see IndexedColors
- *
*/
short bottomBorderColor() default -1;
@@ -139,7 +135,6 @@ public @interface HeadStyle {
* Set the background fill color.
*
* @see IndexedColors
- *
*/
short fillBackgroundColor() default -1;
@@ -147,7 +142,6 @@ public @interface HeadStyle {
* Set the foreground fill color Note: Ensure Foreground color is set prior to background color.
*
* @see IndexedColors
- *
*/
short fillForegroundColor() default -1;
diff --git a/src/main/java/com/alibaba/excel/constant/OrderConstant.java b/src/main/java/com/alibaba/excel/constant/OrderConstant.java
index a955025c..54d438e5 100644
--- a/src/main/java/com/alibaba/excel/constant/OrderConstant.java
+++ b/src/main/java/com/alibaba/excel/constant/OrderConstant.java
@@ -6,8 +6,19 @@ package com.alibaba.excel.constant;
* @author Jiaju Zhuang
*/
public class OrderConstant {
+
+ /**
+ * Define style.
+ */
+ public static final int DEFINE_STYLE = -50000;
+
+ /**
+ * default order.
+ */
+ public static final int DEFAULT_ORDER = 0;
+
/**
* Sorting of styles written to cells.
*/
- public static final int FILL_DATA_FORMAT = 10000;
+ public static final int FILL_STYLE = 50000;
}
diff --git a/src/main/java/com/alibaba/excel/context/WriteContextImpl.java b/src/main/java/com/alibaba/excel/context/WriteContextImpl.java
index 175f33da..2b7ced3e 100644
--- a/src/main/java/com/alibaba/excel/context/WriteContextImpl.java
+++ b/src/main/java/com/alibaba/excel/context/WriteContextImpl.java
@@ -8,8 +8,8 @@ import java.util.UUID;
import com.alibaba.excel.enums.WriteTypeEnum;
import com.alibaba.excel.exception.ExcelGenerateException;
-import com.alibaba.excel.metadata.data.CellData;
import com.alibaba.excel.metadata.Head;
+import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.support.ExcelTypeEnum;
import com.alibaba.excel.util.DateUtils;
import com.alibaba.excel.util.FileUtils;
@@ -248,7 +248,7 @@ public class WriteContextImpl implements WriteContext {
Cell cell = row.createCell(columnIndex);
WriteHandlerUtils.afterCellCreate(this, cell, head, relativeRowIndex, Boolean.TRUE);
cell.setCellValue(head.getHeadNameList().get(relativeRowIndex));
- WriteHandlerUtils.afterCellDispose(this, (CellData) null, cell, head, relativeRowIndex, Boolean.TRUE);
+ WriteHandlerUtils.afterCellDispose(this, (WriteCellData>) null, cell, head, relativeRowIndex, Boolean.TRUE);
}
}
diff --git a/src/main/java/com/alibaba/excel/converters/WriteConverterContext.java b/src/main/java/com/alibaba/excel/converters/WriteConverterContext.java
index b1d0a5dd..36ce56c6 100644
--- a/src/main/java/com/alibaba/excel/converters/WriteConverterContext.java
+++ b/src/main/java/com/alibaba/excel/converters/WriteConverterContext.java
@@ -3,6 +3,7 @@ package com.alibaba.excel.converters;
import com.alibaba.excel.context.WriteContext;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
+import lombok.AllArgsConstructor;
import lombok.Data;
/**
diff --git a/src/main/java/com/alibaba/excel/converters/bigdecimal/BigDecimalNumberConverter.java b/src/main/java/com/alibaba/excel/converters/bigdecimal/BigDecimalNumberConverter.java
index 6a60b0d7..f1b1285c 100644
--- a/src/main/java/com/alibaba/excel/converters/bigdecimal/BigDecimalNumberConverter.java
+++ b/src/main/java/com/alibaba/excel/converters/bigdecimal/BigDecimalNumberConverter.java
@@ -9,7 +9,6 @@ import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import com.alibaba.excel.util.NumberUtils;
-import com.alibaba.excel.write.metadata.holder.WriteHolder;
/**
* BigDecimal and number converter
@@ -36,7 +35,7 @@ public class BigDecimalNumberConverter implements Converter
true
make all content visible within a
* cell by displaying it on multiple lines
- *
*/
private Boolean wrapped;
/**
@@ -96,7 +98,6 @@ public class StyleProperty {
* Set the color to use for the right border
*
* @see IndexedColors
- *
*/
private Short rightBorderColor;
@@ -104,14 +105,12 @@ public class StyleProperty {
* Set the color to use for the top border
*
* @see IndexedColors
- *
*/
private Short topBorderColor;
/**
* Set the color to use for the bottom border
*
* @see IndexedColors
- *
*/
private Short bottomBorderColor;
/**
@@ -125,7 +124,6 @@ public class StyleProperty {
* Set the background fill color.
*
* @see IndexedColors
- *
*/
private Short fillBackgroundColor;
@@ -133,7 +131,6 @@ public class StyleProperty {
* Set the foreground fill color Note: Ensure Foreground color is set prior to background color.
*
* @see IndexedColors
- *
*/
private Short fillForegroundColor;
/**
@@ -146,7 +143,9 @@ public class StyleProperty {
return null;
}
StyleProperty styleProperty = new StyleProperty();
- styleProperty.setDataFormat(headStyle.dataFormat());
+ DataFormatData dataFormatData = new DataFormatData();
+ dataFormatData.setIndex(headStyle.dataFormat());
+ styleProperty.setDataFormatData(dataFormatData);
styleProperty.setHidden(headStyle.hidden());
styleProperty.setLocked(headStyle.locked());
styleProperty.setQuotePrefix(headStyle.quotePrefix());
@@ -175,7 +174,9 @@ public class StyleProperty {
return null;
}
StyleProperty styleProperty = new StyleProperty();
- styleProperty.setDataFormat(contentStyle.dataFormat());
+ DataFormatData dataFormatData = new DataFormatData();
+ dataFormatData.setIndex(contentStyle.dataFormat());
+ styleProperty.setDataFormatData(dataFormatData);
styleProperty.setHidden(contentStyle.hidden());
styleProperty.setLocked(contentStyle.locked());
styleProperty.setQuotePrefix(contentStyle.quotePrefix());
@@ -198,180 +199,4 @@ public class StyleProperty {
styleProperty.setShrinkToFit(contentStyle.shrinkToFit());
return styleProperty;
}
-
- public Short getDataFormat() {
- return dataFormat;
- }
-
- public void setDataFormat(Short dataFormat) {
- this.dataFormat = dataFormat;
- }
-
- public WriteFont getWriteFont() {
- return writeFont;
- }
-
- public void setWriteFont(WriteFont writeFont) {
- this.writeFont = writeFont;
- }
-
- public Boolean getHidden() {
- return hidden;
- }
-
- public void setHidden(Boolean hidden) {
- this.hidden = hidden;
- }
-
- public Boolean getLocked() {
- return locked;
- }
-
- public void setLocked(Boolean locked) {
- this.locked = locked;
- }
-
- public Boolean getQuotePrefix() {
- return quotePrefix;
- }
-
- public void setQuotePrefix(Boolean quotePrefix) {
- this.quotePrefix = quotePrefix;
- }
-
- public HorizontalAlignment getHorizontalAlignment() {
- return horizontalAlignment;
- }
-
- public void setHorizontalAlignment(HorizontalAlignment horizontalAlignment) {
- this.horizontalAlignment = horizontalAlignment;
- }
-
- public Boolean getWrapped() {
- return wrapped;
- }
-
- public void setWrapped(Boolean wrapped) {
- this.wrapped = wrapped;
- }
-
- public VerticalAlignment getVerticalAlignment() {
- return verticalAlignment;
- }
-
- public void setVerticalAlignment(VerticalAlignment verticalAlignment) {
- this.verticalAlignment = verticalAlignment;
- }
-
- public Short getRotation() {
- return rotation;
- }
-
- public void setRotation(Short rotation) {
- this.rotation = rotation;
- }
-
- public Short getIndent() {
- return indent;
- }
-
- public void setIndent(Short indent) {
- this.indent = indent;
- }
-
- public BorderStyle getBorderLeft() {
- return borderLeft;
- }
-
- public void setBorderLeft(BorderStyle borderLeft) {
- this.borderLeft = borderLeft;
- }
-
- public BorderStyle getBorderRight() {
- return borderRight;
- }
-
- public void setBorderRight(BorderStyle borderRight) {
- this.borderRight = borderRight;
- }
-
- public BorderStyle getBorderTop() {
- return borderTop;
- }
-
- public void setBorderTop(BorderStyle borderTop) {
- this.borderTop = borderTop;
- }
-
- public BorderStyle getBorderBottom() {
- return borderBottom;
- }
-
- public void setBorderBottom(BorderStyle borderBottom) {
- this.borderBottom = borderBottom;
- }
-
- public Short getLeftBorderColor() {
- return leftBorderColor;
- }
-
- public void setLeftBorderColor(Short leftBorderColor) {
- this.leftBorderColor = leftBorderColor;
- }
-
- public Short getRightBorderColor() {
- return rightBorderColor;
- }
-
- public void setRightBorderColor(Short rightBorderColor) {
- this.rightBorderColor = rightBorderColor;
- }
-
- public Short getTopBorderColor() {
- return topBorderColor;
- }
-
- public void setTopBorderColor(Short topBorderColor) {
- this.topBorderColor = topBorderColor;
- }
-
- public Short getBottomBorderColor() {
- return bottomBorderColor;
- }
-
- public void setBottomBorderColor(Short bottomBorderColor) {
- this.bottomBorderColor = bottomBorderColor;
- }
-
- public FillPatternType getFillPatternType() {
- return fillPatternType;
- }
-
- public void setFillPatternType(FillPatternType fillPatternType) {
- this.fillPatternType = fillPatternType;
- }
-
- public Short getFillBackgroundColor() {
- return fillBackgroundColor;
- }
-
- public void setFillBackgroundColor(Short fillBackgroundColor) {
- this.fillBackgroundColor = fillBackgroundColor;
- }
-
- public Short getFillForegroundColor() {
- return fillForegroundColor;
- }
-
- public void setFillForegroundColor(Short fillForegroundColor) {
- this.fillForegroundColor = fillForegroundColor;
- }
-
- public Boolean getShrinkToFit() {
- return shrinkToFit;
- }
-
- public void setShrinkToFit(Boolean shrinkToFit) {
- this.shrinkToFit = shrinkToFit;
- }
}
diff --git a/src/main/java/com/alibaba/excel/read/builder/AbstractExcelReaderParameterBuilder.java b/src/main/java/com/alibaba/excel/read/builder/AbstractExcelReaderParameterBuilder.java
index 29d676cb..75f98065 100644
--- a/src/main/java/com/alibaba/excel/read/builder/AbstractExcelReaderParameterBuilder.java
+++ b/src/main/java/com/alibaba/excel/read/builder/AbstractExcelReaderParameterBuilder.java
@@ -1,10 +1,9 @@
package com.alibaba.excel.read.builder;
-import java.util.ArrayList;
-
import com.alibaba.excel.metadata.AbstractParameterBuilder;
import com.alibaba.excel.read.listener.ReadListener;
import com.alibaba.excel.read.metadata.ReadBasicParameter;
+import com.alibaba.excel.util.ListUtils;
/**
* Build ExcelBuilder
@@ -50,9 +49,9 @@ public abstract class AbstractExcelReaderParameterBuilderGets a {@code List} of all interfaces implemented by the given * class and its superclasses.
@@ -218,9 +215,9 @@ public class ClassUtils { * superclass is considered in the same way. Later duplicates are ignored, * so the order is maintained. * - * @param cls the class to look up, may be {@code null} + * @param cls the class to look up, may be {@code null} * @return the {@code List} of interfaces in order, - * {@code null} if null input + * {@code null} if null input */ public static List