Browse Source

* 删除`org.apache.poi.hssf.usermodel.PoiUtils.java`, 使用反射获取 [Issue #2804](https://github.com/alibaba/easyexcel/issues/2804)

pull/3168/head
Jiaju Zhuang 2 years ago
parent
commit
98e2420868
  1. 16
      easyexcel-core/src/main/java/com/alibaba/excel/util/PoiUtils.java
  2. 1
      update.md

16
easyexcel-core/src/main/java/com/alibaba/excel/util/PoiUtils.java

@ -1,6 +1,7 @@
package com.alibaba.excel.util; package com.alibaba.excel.util;
import com.alibaba.excel.exception.ExcelRuntimeException; import com.alibaba.excel.exception.ExcelRuntimeException;
import org.apache.poi.hssf.record.RowRecord; import org.apache.poi.hssf.record.RowRecord;
import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Row;
@ -22,7 +23,7 @@ public class PoiUtils {
*/ */
public static final BitField CUSTOM_HEIGHT = BitFieldFactory.getInstance(0x640); public static final BitField CUSTOM_HEIGHT = BitFieldFactory.getInstance(0x640);
private static Field ROW_RECORD_FIELD; private static final Field ROW_RECORD_FIELD = FieldUtils.getField(HSSFRow.class, "row", true);
/** /**
* Whether to customize the height * Whether to customize the height
@ -38,9 +39,6 @@ public class PoiUtils {
if (row instanceof HSSFRow) { if (row instanceof HSSFRow) {
HSSFRow hssfRow = (HSSFRow)row; HSSFRow hssfRow = (HSSFRow)row;
try { try {
if (ROW_RECORD_FIELD == null) {
initRowRecordField();
}
RowRecord record = (RowRecord)ROW_RECORD_FIELD.get(hssfRow); RowRecord record = (RowRecord)ROW_RECORD_FIELD.get(hssfRow);
return CUSTOM_HEIGHT.getValue(record.getOptionFlags()) == 1; return CUSTOM_HEIGHT.getValue(record.getOptionFlags()) == 1;
} catch (IllegalAccessException ignore) { } catch (IllegalAccessException ignore) {
@ -48,14 +46,4 @@ public class PoiUtils {
} }
return false; return false;
} }
private static void initRowRecordField() {
try {
ROW_RECORD_FIELD = HSSFRow.class.getDeclaredField("row");
ROW_RECORD_FIELD.setAccessible(true);
} catch (NoSuchFieldException e) {
throw new ExcelRuntimeException(e);
}
}
} }

1
update.md

@ -5,6 +5,7 @@
* xlsx存在隐藏字符时需要忽略,确保和展示看到的一样 * xlsx存在隐藏字符时需要忽略,确保和展示看到的一样
* 新增`commons-io` 2.11.0 包 * 新增`commons-io` 2.11.0 包
* 在`easyexcel-parent` 包中移除测试包的`dependencyManagement` * 在`easyexcel-parent` 包中移除测试包的`dependencyManagement`
* 删除`org.apache.poi.hssf.usermodel.PoiUtils.java`, 使用反射获取 [Issue #2804](https://github.com/alibaba/easyexcel/issues/2804)
# 3.2.1 # 3.2.1

Loading…
Cancel
Save