diff --git a/src/main/java/com/alibaba/excel/ExcelReader.java b/src/main/java/com/alibaba/excel/ExcelReader.java index a15c74dad57945d4ff4e24d479585c97bce95f3b..a04a832a9ea958634f032afe44daac175e7b2e41 100644 --- a/src/main/java/com/alibaba/excel/ExcelReader.java +++ b/src/main/java/com/alibaba/excel/ExcelReader.java @@ -31,11 +31,23 @@ public class ExcelReader { * }AnalysisContext * @param eventListener */ + @Deprecated public ExcelReader(InputStream in, ExcelTypeEnum excelTypeEnum, Object customContent, AnalysisEventListener eventListener) { this(in, excelTypeEnum, customContent, eventListener, true); } + /** + * @param in + * @param customContent {@link AnalysisEventListener#invoke(Object, AnalysisContext) + * }AnalysisContext + * @param eventListener + */ + public ExcelReader(InputStream in, Object customContent, + AnalysisEventListener eventListener) { + this(in, customContent, eventListener, true); + } + /** * old 1.1.0 * @param param @@ -54,12 +66,27 @@ public class ExcelReader { * @param eventListener * @param trim */ + @Deprecated public ExcelReader(InputStream in, ExcelTypeEnum excelTypeEnum, Object customContent, AnalysisEventListener eventListener, boolean trim) { validateParam(in, excelTypeEnum, eventListener); analyser.init(in, excelTypeEnum, customContent, eventListener, trim); } + /** + * @param in + * @param customContent {@link AnalysisEventListener#invoke(Object, AnalysisContext) + * }AnalysisContext + * @param eventListener + * @param trim + */ + public ExcelReader(InputStream in, Object customContent, + AnalysisEventListener eventListener, boolean trim) { + ExcelTypeEnum excelTypeEnum = ExcelTypeEnum.valueOf(in); + validateParam(in, excelTypeEnum, eventListener); + analyser.init(in, excelTypeEnum, customContent, eventListener, trim); + } + /** */ public void read() { diff --git a/src/main/java/com/alibaba/excel/analysis/v07/XlsxRowHandler.java b/src/main/java/com/alibaba/excel/analysis/v07/XlsxRowHandler.java index 12be50fe76c649cec6d2c7621267d73d9021bf96..4788ff2104b7daec3f06fb9da04900a5dd31076b 100644 --- a/src/main/java/com/alibaba/excel/analysis/v07/XlsxRowHandler.java +++ b/src/main/java/com/alibaba/excel/analysis/v07/XlsxRowHandler.java @@ -18,7 +18,6 @@ import static com.alibaba.excel.constant.ExcelXmlConstants.*; /** * @author jipengfei - * @date 2017/08/23 */ public class XlsxRowHandler extends DefaultHandler { diff --git a/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java b/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java index 5d761f4815bd5c90b86921fdca05c21bf354077b..cfc30f7e8349cb0d0df6f7d3516e1fbc8cdb18c6 100644 --- a/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java +++ b/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java @@ -25,7 +25,6 @@ import java.util.List; /** * @author jipengfei - * @date 2017/08/27 */ public class XlsxSaxAnalyser extends BaseSaxAnalyser { diff --git a/src/main/java/com/alibaba/excel/annotation/ExcelColumnNum.java b/src/main/java/com/alibaba/excel/annotation/ExcelColumnNum.java index 6a53efa1d27f69b8adc8bd15f161aafd5ed6e240..0958372a69629c39f122170c0a5e18ac3edc7e91 100644 --- a/src/main/java/com/alibaba/excel/annotation/ExcelColumnNum.java +++ b/src/main/java/com/alibaba/excel/annotation/ExcelColumnNum.java @@ -7,7 +7,6 @@ import java.lang.annotation.*; * Field column num at excel head * * @author jipengfei - * @date 2017/03/19 */ @Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) diff --git a/src/main/java/com/alibaba/excel/context/GenerateContextImpl.java b/src/main/java/com/alibaba/excel/context/GenerateContextImpl.java index 9c2f171c8764332fac58759d019f56f6c9c1bbd4..a79ca3c42c2d1d236e74c6c27681d8e2f352f576 100644 --- a/src/main/java/com/alibaba/excel/context/GenerateContextImpl.java +++ b/src/main/java/com/alibaba/excel/context/GenerateContextImpl.java @@ -3,6 +3,7 @@ package com.alibaba.excel.context; import com.alibaba.excel.metadata.*; import com.alibaba.excel.metadata.CellRange; import com.alibaba.excel.metadata.Table; +import com.alibaba.excel.metadata.TableStyle; import com.alibaba.excel.support.ExcelTypeEnum; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; diff --git a/src/main/java/com/alibaba/excel/event/AnalysisEventRegisterCenter.java b/src/main/java/com/alibaba/excel/event/AnalysisEventRegisterCenter.java index 5c557ecf13ec5a63efda252f167d4e34bba5e290..7cc50678a1ec7fcd304df81289ae75c1cacd9dbb 100644 --- a/src/main/java/com/alibaba/excel/event/AnalysisEventRegisterCenter.java +++ b/src/main/java/com/alibaba/excel/event/AnalysisEventRegisterCenter.java @@ -8,14 +8,14 @@ package com.alibaba.excel.event; public interface AnalysisEventRegisterCenter { /** - * @param name - * @param listener + * @param name 监听名定义 + * @param listener 具体实现 */ void appendLister(String name, AnalysisEventListener listener); /** - * @param event + * @param event 事件 */ void notifyListeners(OneRowAnalysisFinishEvent event); diff --git a/src/main/java/com/alibaba/excel/event/OneRowAnalysisFinishEvent.java b/src/main/java/com/alibaba/excel/event/OneRowAnalysisFinishEvent.java index a9e9966de8adc94bb1946621566c425d63d0945c..9ebdb5a113857b1fe04ba65672fa71fb135052e0 100644 --- a/src/main/java/com/alibaba/excel/event/OneRowAnalysisFinishEvent.java +++ b/src/main/java/com/alibaba/excel/event/OneRowAnalysisFinishEvent.java @@ -2,7 +2,6 @@ package com.alibaba.excel.event; /** * @author jipengfei - * @date 2017/07/21 */ public class OneRowAnalysisFinishEvent { diff --git a/src/main/java/com/alibaba/excel/metadata/CellRange.java b/src/main/java/com/alibaba/excel/metadata/CellRange.java index 7fac539b75ed00ca79ae0027abdfe1a610032e09..6805526e64231d7d95db17d4aa9690af61bd3e14 100644 --- a/src/main/java/com/alibaba/excel/metadata/CellRange.java +++ b/src/main/java/com/alibaba/excel/metadata/CellRange.java @@ -2,7 +2,6 @@ package com.alibaba.excel.metadata; /** * @author jipengfei - * @date 2017/06/02 */ public class CellRange { diff --git a/src/main/java/com/alibaba/excel/metadata/ExcelColumnProperty.java b/src/main/java/com/alibaba/excel/metadata/ExcelColumnProperty.java index 8b3ed714854ca0d8dd9bf461a4b1c0706600286b..cc6442f1e33a3c5af0ffde03f34e89468c0f4672 100644 --- a/src/main/java/com/alibaba/excel/metadata/ExcelColumnProperty.java +++ b/src/main/java/com/alibaba/excel/metadata/ExcelColumnProperty.java @@ -6,7 +6,6 @@ import java.util.List; /** * @author jipengfei - * @date 2017/05/31 */ public class ExcelColumnProperty implements Comparable { diff --git a/src/main/java/com/alibaba/excel/metadata/ExcelHeadProperty.java b/src/main/java/com/alibaba/excel/metadata/ExcelHeadProperty.java index 675c1a4de99c294e1cda737f7976d5b25eb91cc9..7b15a5ceecb06ce28505b5fa7a4761492710f85e 100644 --- a/src/main/java/com/alibaba/excel/metadata/ExcelHeadProperty.java +++ b/src/main/java/com/alibaba/excel/metadata/ExcelHeadProperty.java @@ -9,7 +9,6 @@ import java.util.*; /** * * @author jipengfei - * @date 2017/05/31 */ public class ExcelHeadProperty { diff --git a/src/main/java/com/alibaba/excel/metadata/Font.java b/src/main/java/com/alibaba/excel/metadata/Font.java index 3eea50bf86faedfa8b5e7c37effde615051e1d1d..45330119e0338c09cb7f599b31561c9707e27db6 100644 --- a/src/main/java/com/alibaba/excel/metadata/Font.java +++ b/src/main/java/com/alibaba/excel/metadata/Font.java @@ -3,7 +3,6 @@ package com.alibaba.excel.metadata; /** * * @author jipengfei - * @date 2017/05/24 */ public class Font { diff --git a/src/main/java/com/alibaba/excel/metadata/Table.java b/src/main/java/com/alibaba/excel/metadata/Table.java index c4b3a8ecbf6ba8cbc1bf13cec11126c52c1cf035..a0abeed681cfec99c7f681feb1ff9a08f97be842 100644 --- a/src/main/java/com/alibaba/excel/metadata/Table.java +++ b/src/main/java/com/alibaba/excel/metadata/Table.java @@ -4,7 +4,6 @@ import java.util.List; /** * @author jipengfei - * @date 2017/05/16 */ public class Table { /** diff --git a/src/main/java/com/alibaba/excel/metadata/TableStyle.java b/src/main/java/com/alibaba/excel/metadata/TableStyle.java index 6618197e609744e388dc7c286529359fdd2bccbc..228019c3aa02be5056ded07666d7def93e7bebb6 100644 --- a/src/main/java/com/alibaba/excel/metadata/TableStyle.java +++ b/src/main/java/com/alibaba/excel/metadata/TableStyle.java @@ -4,7 +4,6 @@ import org.apache.poi.ss.usermodel.IndexedColors; /** * @author jipengfei - * @date 2017/05/24 */ public class TableStyle { diff --git a/src/main/java/com/alibaba/excel/parameter/ExcelWriteParam.java b/src/main/java/com/alibaba/excel/parameter/ExcelWriteParam.java index 53e5d509065568074355b12d2d2175ddfd978846..dd6ca1ee5afe22b9e236bdabdbe324c0a15ec054 100644 --- a/src/main/java/com/alibaba/excel/parameter/ExcelWriteParam.java +++ b/src/main/java/com/alibaba/excel/parameter/ExcelWriteParam.java @@ -8,7 +8,6 @@ import java.io.OutputStream; * {@link com.alibaba.excel.ExcelWriter} * * @author jipengfei - * @date 2017/05/15 */ @Deprecated public class ExcelWriteParam { diff --git a/src/main/java/com/alibaba/excel/support/ExcelTypeEnum.java b/src/main/java/com/alibaba/excel/support/ExcelTypeEnum.java index 37a84782768adf79f3a7435e3750591af5f20d5b..8ba87fe7996b0087fa89277f7f1ba7d84ed74ff0 100644 --- a/src/main/java/com/alibaba/excel/support/ExcelTypeEnum.java +++ b/src/main/java/com/alibaba/excel/support/ExcelTypeEnum.java @@ -1,5 +1,10 @@ package com.alibaba.excel.support; +import org.apache.poi.poifs.filesystem.FileMagic; + +import java.io.IOException; +import java.io.InputStream; + /** * * @author jipengfei @@ -21,4 +26,19 @@ public enum ExcelTypeEnum { public void setValue(String value) { this.value = value; } + public static ExcelTypeEnum valueOf(InputStream inputStream){ + try { + FileMagic fileMagic = FileMagic.valueOf(inputStream); + if(FileMagic.OLE2.equals(fileMagic)){ + return XLS; + } + if(FileMagic.OOXML.equals(fileMagic)){ + return XLSX; + } + throw new IllegalArgumentException("excelTypeEnum can not null"); + + } catch (IOException e) { + throw new RuntimeException(e); + } + } } diff --git a/src/main/java/com/alibaba/excel/util/IndexValueConverter.java b/src/main/java/com/alibaba/excel/util/IndexValueConverter.java index dc6f13f2f2d34d1402c5b3ff41e9158761f66864..90548a7c9e1d60355d11ad3ab37c79a14612f5a0 100644 --- a/src/main/java/com/alibaba/excel/util/IndexValueConverter.java +++ b/src/main/java/com/alibaba/excel/util/IndexValueConverter.java @@ -9,7 +9,6 @@ import java.util.Stack; /** * 去除空Cell * @author jipengfei - * @date 2017/04/13 */ public class IndexValueConverter { public static List converter(List i_list) { diff --git a/src/main/java/com/alibaba/excel/util/POITempFile.java b/src/main/java/com/alibaba/excel/util/POITempFile.java index c342968a6afba7cee6e5e1f73f8faa75513945d8..6382255f813dcc1a56b402ec725b244bfc6e791a 100644 --- a/src/main/java/com/alibaba/excel/util/POITempFile.java +++ b/src/main/java/com/alibaba/excel/util/POITempFile.java @@ -5,7 +5,6 @@ import java.io.File; /** * * @author jipengfei - * @date 2017/06/22 */ public class POITempFile { diff --git a/src/main/java/com/alibaba/excel/util/PositionUtils.java b/src/main/java/com/alibaba/excel/util/PositionUtils.java index f5f084ac198c92c42ef422faa11625c23483983e..37a87dd59d416de83e36314c8c7ff896456fac44 100644 --- a/src/main/java/com/alibaba/excel/util/PositionUtils.java +++ b/src/main/java/com/alibaba/excel/util/PositionUtils.java @@ -2,7 +2,6 @@ package com.alibaba.excel.util; /** * @author jipengfei - * @date 2017/08/27 */ public class PositionUtils { diff --git a/src/main/java/com/alibaba/excel/util/TypeUtil.java b/src/main/java/com/alibaba/excel/util/TypeUtil.java index dbac004b4dd0484902c2a735264d9a9720aff366..564bf2e50f04f04e4b842c6bf6e4ef069b306a8e 100644 --- a/src/main/java/com/alibaba/excel/util/TypeUtil.java +++ b/src/main/java/com/alibaba/excel/util/TypeUtil.java @@ -14,7 +14,6 @@ import java.util.regex.Pattern; /** * @author jipengfei - * @date 2017/03/15 */ public class TypeUtil { diff --git a/src/main/java/com/alibaba/excel/write/ExcelBuilderImpl.java b/src/main/java/com/alibaba/excel/write/ExcelBuilderImpl.java index 998078db265ca7f50ee60bee150a6ba1475f4f9c..b81b73d8711c544fb148640c0b52ef212aa9583c 100644 --- a/src/main/java/com/alibaba/excel/write/ExcelBuilderImpl.java +++ b/src/main/java/com/alibaba/excel/write/ExcelBuilderImpl.java @@ -21,7 +21,6 @@ import java.util.List; /** * @author jipengfei - * @date 2017/05/27 */ public class ExcelBuilderImpl implements ExcelBuilder { diff --git a/src/main`java/com/alibaba/excel/annotation/FieldType.java b/src/main`java/com/alibaba/excel/annotation/FieldType.java new file mode 100644 index 0000000000000000000000000000000000000000..73729959ce78bf5e922b3ed90953087d3abcf93e --- /dev/null +++ b/src/main`java/com/alibaba/excel/annotation/FieldType.java @@ -0,0 +1,11 @@ +package com.alibaba.excel.annotation; + +/** + * + * @author jipengfei + */ +public enum FieldType { + + STRING, INT, LONG, DATE, BOOLEAN, DOUBLE,EMPTY; + +} diff --git a/src/main`java/com/alibaba/excel/constant/ExcelXmlConstants.java b/src/main`java/com/alibaba/excel/constant/ExcelXmlConstants.java new file mode 100644 index 0000000000000000000000000000000000000000..dcd2d5a43e39ed63b9e28ec97928fe59fcf09691 --- /dev/null +++ b/src/main`java/com/alibaba/excel/constant/ExcelXmlConstants.java @@ -0,0 +1,17 @@ +package com.alibaba.excel.constant; + +/** + * @author jipengfei + */ +public class ExcelXmlConstants { + public static final String DIMENSION = "dimension"; + public static final String DIMENSION_REF = "ref"; + public static final String POSITION = "r"; + + public static final String ROW_TAG = "row"; + public static final String CELL_TAG = "c"; + public static final String CELL_VALUE_TAG = "v"; + + public static final String CELL_VALUE_TAG_1 = "t"; + +} diff --git a/src/test/java/function/model/ExcelPropertyIndexModel.java b/src/test/java/function/model/ExcelPropertyIndexModel.java index 0009615f75cd4b130a8cf3f965fc97910d841aef..ad9a95dee71875700ddfc0a2eb2db4eb6d559810 100644 --- a/src/test/java/function/model/ExcelPropertyIndexModel.java +++ b/src/test/java/function/model/ExcelPropertyIndexModel.java @@ -5,7 +5,6 @@ import com.alibaba.excel.metadata.BaseRowModel; /** * @author jipengfei - * @date 2017/05/31 */ public class ExcelPropertyIndexModel extends BaseRowModel { diff --git a/src/test/java/read/v03/XLS2003FunctionTest.java b/src/test/java/read/v03/XLS2003FunctionTest.java index 3770375edb651f8101f30568f1d704409fba94be..a94de404ab525bb6b0983eee00f7302ae5dd8785 100644 --- a/src/test/java/read/v03/XLS2003FunctionTest.java +++ b/src/test/java/read/v03/XLS2003FunctionTest.java @@ -19,12 +19,12 @@ public class XLS2003FunctionTest extends TestCase { @Test public void testExcel2003NoModel() { - InputStream inputStream = getInputStream("loan1.xls"); + InputStream inputStream = getInputStream("2003.xls"); try { // 解析每行结果在listener中处理 ExcelListener listener = new ExcelListener(); - ExcelReader excelReader = new ExcelReader(inputStream, ExcelTypeEnum.XLS, null, listener); + ExcelReader excelReader = new ExcelReader(inputStream, null, listener); excelReader.read(); } catch (Exception e) { e.printStackTrace(); diff --git a/src/test/java/read/v07/Read2007Xlsx.java b/src/test/java/read/v07/Read2007Xlsx.java index 672caef915ad887279d2331d5055699b666d87f9..f2e39c34e0ef103478f7362041fe9318c9c480be 100644 --- a/src/test/java/read/v07/Read2007Xlsx.java +++ b/src/test/java/read/v07/Read2007Xlsx.java @@ -23,11 +23,11 @@ public class Read2007Xlsx { //创建没有自定义模型,没有sheet的解析器,默认解析所有sheet解析结果以List的方式通知监听者 @Test public void noModel() { - InputStream inputStream = getInputStream("需要分批关闭客户名单 2018.8.24.xlsx"); + InputStream inputStream = getInputStream("2007.xlsx"); final List> ll = new ArrayList>(); try { - ExcelReader reader = new ExcelReader(inputStream, ExcelTypeEnum.XLSX, null, + ExcelReader reader = new ExcelReader(inputStream, null, new AnalysisEventListener>() { @Override public void invoke(List object, AnalysisContext context) { diff --git a/src/test/java/read/v07/listener/Excel2007WithJavaModelAnalysisListener.java b/src/test/java/read/v07/listener/Excel2007WithJavaModelAnalysisListener.java index 2248a749e948ec0b550613c375def06cedf89cca..e52bcdfdbb49a8188dafe2b4a58e02bc71f5041c 100644 --- a/src/test/java/read/v07/listener/Excel2007WithJavaModelAnalysisListener.java +++ b/src/test/java/read/v07/listener/Excel2007WithJavaModelAnalysisListener.java @@ -12,7 +12,6 @@ import java.util.List; /** * @author jipengfei - * @date 2017/08/27 */ public class Excel2007WithJavaModelAnalysisListener extends AnalysisEventListener {