Browse Source

delete poi same name package, move PoiUtils to excel utils package.

fix Java9 modular bug
pull/3010/head
gongxuanzhang 2 years ago
parent
commit
93d968ac27
  1. 61
      easyexcel-core/src/main/java/com/alibaba/excel/util/PoiUtils.java
  2. 2
      easyexcel-core/src/main/java/com/alibaba/excel/write/executor/ExcelWriteFillExecutor.java
  3. 37
      easyexcel-core/src/main/java/org/apache/poi/hssf/usermodel/PoiUtils.java

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

@ -0,0 +1,61 @@
package com.alibaba.excel.util;
import com.alibaba.excel.exception.ExcelRuntimeException;
import org.apache.poi.hssf.record.RowRecord;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.util.BitField;
import org.apache.poi.util.BitFieldFactory;
import org.apache.poi.xssf.usermodel.XSSFRow;
import java.lang.reflect.Field;
/**
* utils
*
* @author Jiaju Zhuang
*/
public class PoiUtils {
/**
* Whether to customize the height
*/
public static final BitField CUSTOM_HEIGHT = BitFieldFactory.getInstance(0x640);
private static Field ROW_RECORD_FIELD;
/**
* Whether to customize the height
*
* @param row row
* @return
*/
public static boolean customHeight(Row row) {
if (row instanceof XSSFRow) {
XSSFRow xssfRow = (XSSFRow) row;
return xssfRow.getCTRow().getCustomHeight();
}
if (row instanceof HSSFRow) {
HSSFRow hssfRow = (HSSFRow) row;
try {
if (ROW_RECORD_FIELD == null) {
initRowRecordField();
}
RowRecord record = (RowRecord) ROW_RECORD_FIELD.get(hssfRow);
return CUSTOM_HEIGHT.getValue(record.getOptionFlags()) == 1;
} catch (IllegalAccessException ignore) {
}
}
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);
}
}
}

2
easyexcel-core/src/main/java/com/alibaba/excel/write/executor/ExcelWriteFillExecutor.java

@ -37,7 +37,7 @@ import lombok.EqualsAndHashCode;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.poi.hssf.usermodel.PoiUtils; import com.alibaba.excel.util.PoiUtils;
import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.CellType;

37
easyexcel-core/src/main/java/org/apache/poi/hssf/usermodel/PoiUtils.java

@ -1,37 +0,0 @@
package org.apache.poi.hssf.usermodel;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.util.BitField;
import org.apache.poi.util.BitFieldFactory;
import org.apache.poi.xssf.usermodel.XSSFRow;
/**
* utils
*
* @author Jiaju Zhuang
*/
public class PoiUtils {
/**
* Whether to customize the height
*/
public static final BitField CUSTOM_HEIGHT = BitFieldFactory.getInstance(0x640);
/**
* Whether to customize the height
*
* @param row row
* @return
*/
public static boolean customHeight(Row row) {
if (row instanceof XSSFRow) {
XSSFRow xssfRow = (XSSFRow)row;
return xssfRow.getCTRow().getCustomHeight();
}
if (row instanceof HSSFRow) {
HSSFRow hssfRow = (HSSFRow)row;
return CUSTOM_HEIGHT.getValue(hssfRow.getRowRecord().getOptionFlags()) == 1;
}
return false;
}
}
Loading…
Cancel
Save