diff --git a/README.md b/README.md
index c0401aea..a108ff3c 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,8 @@ EasyExcel
[钉钉1群(已满): 21960511](https://qr.dingtalk.com/action/joingroup?code=v1,k1,cchz6k12ci9B08NNqhNRFGXocNVHrZtW0kaOtTKg/Rk=&_dt_no_comment=1&origin=11)
[钉钉2群(已满): 32796397](https://qr.dingtalk.com/action/joingroup?code=v1,k1,jyU9GtEuNU5S0QTyklqYcYJ8qDZtUuTPMM7uPZTS8Hs=&_dt_no_comment=1&origin=11)
[钉钉3群(已满): 33797247](https://qr.dingtalk.com/action/joingroup?code=v1,k1,3UGlEScTGQaHpW2cIRo+gkxJ9EVZ5fz26M6nW3uFP30=&_dt_no_comment=1&origin=11)
-[钉钉4群: 33491624](https://qr.dingtalk.com/action/joingroup?code=v1,k1,V14Pb65Too70rQkEaJ9ohb6lZBZbtp6jIL/q9EWh9vA=&_dt_no_comment=1&origin=11)
+[钉钉4群(已满): 33491624](https://qr.dingtalk.com/action/joingroup?code=v1,k1,V14Pb65Too70rQkEaJ9ohb6lZBZbtp6jIL/q9EWh9vA=&_dt_no_comment=1&origin=11)
+[钉钉5群: 32134498](https://h5.dingtalk.com/circle/healthCheckin.html?dtaction=os&corpId=dingb9fa1325d9dccc3ecac589edd02f1650&5233a=71a83&cbdbhh=qwertyuiop)
[官方网站: https://yuque.com/easyexcel](https://www.yuque.com/easyexcel/doc/easyexcel)
[常见问题](https://www.yuque.com/easyexcel/faq)
diff --git a/pom.xml b/pom.xml
index 9f1a4c72..f6025685 100644
--- a/pom.xml
+++ b/pom.xml
@@ -60,17 +60,17 @@
org.apache.poi
poi
- 3.17
+ 5.0.0
org.apache.poi
poi-ooxml
- 3.17
+ 5.0.0
org.apache.poi
- poi-ooxml-schemas
- 3.17
+ poi-ooxml-full
+ 5.0.0
cglib
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 a0a9af0e..4e9da159 100644
--- a/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java
+++ b/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java
@@ -5,6 +5,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.UUID;
@@ -215,10 +216,12 @@ public class XlsxSaxAnalyser implements ExcelReadExecutor {
if (commentsTable == null) {
return;
}
- Map cellComments = commentsTable.getCellComments();
- for (XSSFComment xssfComment : cellComments.values()) {
- CellExtra cellExtra = new CellExtra(CellExtraTypeEnum.COMMENT, xssfComment.getString().toString(),
- xssfComment.getRow(), xssfComment.getColumn());
+ Iterator cellAddresses = commentsTable.getCellAddresses();
+ for (Iterator it = cellAddresses; it.hasNext(); ) {
+ CellAddress cellAddress = it.next();
+ XSSFComment cellComment = commentsTable.findCellComment(cellAddress);
+ CellExtra cellExtra = new CellExtra(CellExtraTypeEnum.COMMENT, cellComment.getString().toString(),
+ cellAddress.getRow(), cellAddress.getColumn());
xlsxReadContext.readSheetHolder().setCellExtra(cellExtra);
xlsxReadContext.analysisEventProcessor().extra(xlsxReadContext);
}
diff --git a/src/main/java/com/alibaba/excel/analysis/v07/handlers/CellTagHandler.java b/src/main/java/com/alibaba/excel/analysis/v07/handlers/CellTagHandler.java
index 2224c19f..1588f1ae 100644
--- a/src/main/java/com/alibaba/excel/analysis/v07/handlers/CellTagHandler.java
+++ b/src/main/java/com/alibaba/excel/analysis/v07/handlers/CellTagHandler.java
@@ -27,13 +27,13 @@ public class CellTagHandler extends AbstractXlsxTagHandler {
xlsxReadSheetHolder.setColumnIndex(PositionUtils.getCol(attributes.getValue(ExcelXmlConstants.ATTRIBUTE_R),
xlsxReadSheetHolder.getColumnIndex()));
- // t="s", it means String
- // t="str", it means String, but does not need to be read in the 'sharedStrings.xml'
- // t="inlineStr", it means String
- // t="b", it means Boolean
- // t="e", it means Error
- // t="n", it means Number
- // t is null, it means Empty or Number
+ // t="s" ,it means String
+ // t="str" ,it means String,but does not need to be read in the 'sharedStrings.xml'
+ // t="inlineStr" ,it means String
+ // t="b" ,it means Boolean
+ // t="e" ,it means Error
+ // t="n" ,it means Number
+ // t is null ,it means Empty or Number
CellDataTypeEnum type = CellDataTypeEnum.buildFromCellType(attributes.getValue(ExcelXmlConstants.ATTRIBUTE_T));
xlsxReadSheetHolder.setTempCellData(new CellData(type));
xlsxReadSheetHolder.setTempData(new StringBuilder());
diff --git a/src/main/java/com/alibaba/excel/write/executor/ExcelWriteFillExecutor.java b/src/main/java/com/alibaba/excel/write/executor/ExcelWriteFillExecutor.java
index 5930a311..4989c311 100644
--- a/src/main/java/com/alibaba/excel/write/executor/ExcelWriteFillExecutor.java
+++ b/src/main/java/com/alibaba/excel/write/executor/ExcelWriteFillExecutor.java
@@ -399,7 +399,7 @@ public class ExcelWriteFillExecutor extends AbstractExcelWriteExecutor {
* @return Returns the data that the cell needs to replace
*/
private String prepareData(Cell cell, int rowIndex, int columnIndex, Map> firstRowCache) {
- if (!CellType.STRING.equals(cell.getCellTypeEnum())) {
+ if (!CellType.STRING.equals(cell.getCellType())) {
return null;
}
String value = cell.getStringCellValue();
diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java b/src/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java
index 92202642..9ced586d 100644
--- a/src/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java
+++ b/src/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java
@@ -5,9 +5,9 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
-import org.apache.poi.hssf.util.CellReference;
import org.apache.poi.ss.usermodel.FillPatternType;
import org.apache.poi.ss.usermodel.IndexedColors;
+import org.apache.poi.ss.util.CellReference;
import org.junit.Ignore;
import org.junit.Test;
import org.slf4j.Logger;
diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/WriteV33Test.java b/src/test/java/com/alibaba/easyexcel/test/temp/WriteV33Test.java
index f8db7f9c..ea7b39a2 100644
--- a/src/test/java/com/alibaba/easyexcel/test/temp/WriteV33Test.java
+++ b/src/test/java/com/alibaba/easyexcel/test/temp/WriteV33Test.java
@@ -1,13 +1,8 @@
package com.alibaba.easyexcel.test.temp;
-import java.io.File;
import java.util.ArrayList;
-import java.util.Date;
import java.util.List;
-import org.apache.poi.hssf.util.CellReference;
-import org.apache.poi.ss.usermodel.FillPatternType;
-import org.apache.poi.ss.usermodel.IndexedColors;
import org.junit.Ignore;
import org.junit.Test;
import org.slf4j.Logger;
@@ -19,10 +14,6 @@ import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.merge.OnceAbsoluteMergeStrategy;
import com.alibaba.excel.write.metadata.WriteSheet;
-import com.alibaba.excel.write.metadata.style.WriteCellStyle;
-import com.alibaba.excel.write.metadata.style.WriteFont;
-import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
-import com.alibaba.fastjson.JSON;
/**
* 临时测试
diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatter1.java b/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatter1.java
index 0239ed5b..c4dce8d3 100644
--- a/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatter1.java
+++ b/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatter1.java
@@ -968,12 +968,12 @@ public class DataFormatter1 implements Observer {
return "";
}
- CellType cellType = cell.getCellTypeEnum();
+ CellType cellType = cell.getCellType();
if (cellType == CellType.FORMULA) {
if (evaluator == null) {
return cell.getCellFormula();
}
- cellType = evaluator.evaluateFormulaCellEnum(cell);
+ cellType = evaluator.evaluateFormulaCell(cell);
}
switch (cellType) {
case NUMERIC: