解决方案,重新set cell的最大值
代码如下:
import org.apache.poi.ss.SpreadsheetVersion;
import java.lang.reflect.Field;
/**
* @author xt
* @Description
* @date 2023/5/6 11:42
*/
public class ExcelTool {
public static void resetCellMaxTextLength() {
SpreadsheetVersion excel2007 = SpreadsheetVersion.EXCEL2007;
if (Integer.MAX_VALUE != excel2007.getMaxTextLength()) {
Field field;
try {
field = excel2007.getClass().getDeclaredField("_maxTextLength");
field.setAccessible(true);
field.set(excel2007,Integer.MAX_VALUE);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
在创建了你的shee之后,调用该工具类,重新对cell的最大容量赋值
XSSFWorkbook wb = new XSSFWorkbook();
// 创建一个Sheet页
XSSFSheet sheet = wb.createSheet("First sheet");
ExcelTool.resetCellMaxTextLength();