使用easyexcel向excel中写内容出现了单元格大小不能超过32,767的限制
这是因为excel 2007限制单个cell不能超过32767个字符,在自己的项目文件夹下创建org.apache.poi.ss.SpreadsheetVersion 类,复制poi中的该类源码,excel2007中的最后一个值改为int类型最大值。重试导出问题解决。
package org.apache.poi.ss;
import org.apache.poi.ss.util.CellReference;
public enum SpreadsheetVersion {
EXCEL97(65536, 256, 30, 3, 4000, 32767),
EXCEL2007(1048576, 16384, 255, Integer.MAX_VALUE, 64000, Integer.MAX_VALUE);
private final int _maxRows;
private final int _maxColumns;
private final int _maxFunctionArgs;
private final int _maxCondFormats;
private final int _maxCellStyles;
private final int _maxTextLength;
private SpreadsheetVersion(int maxRows, int maxColumns, int maxFunctionArgs, int maxCondFormats, int maxCellStyles, int maxText) {
this._maxRows = maxRows;
this._maxColumns = maxColumns;
this._maxFunctionArgs = maxFunctionArgs;
this._maxCondFormats = maxCondFormats;
this._maxCellStyles = maxCellStyles;
this._maxTextLength = maxText;
}
public int getMaxRows() {
return this._maxRows;
}
public int getLastRowIndex() {
return this._maxRows - 1;
}
public int getMaxColumns() {
return this._maxColumns;
}
public int getLastColumnIndex() {
return this._maxColumns - 1;
}
public int getMaxFunctionArgs() {
return this._maxFunctionArgs;
}
public int getMaxConditionalFormats() {
return this._maxCondFormats;
}
public int getMaxCellStyles() {
return this._maxCellStyles;
}
public String getLastColumnName() {
return CellReference.convertNumToColString(this.getLastColumnIndex());
}
public int getMaxTextLength() {
return this._maxTextLength;
}
}