java.lang.IllegalArgumentException: The maximum column width for an individual cell is 255 characters.
org.apache.poi.xssf.usermodel.XSSFSheet.setColumnWidth(XSSFSheet.java:2386)
com.lemon.web.XExcelServlet.attach(XExcelServlet.java:69)
com.lemon.web.XExcelServlet.writeExcel(XExcelServlet.java:171)
com.lemon.web.XExcelServlet.doGet(XExcelServlet.java:149)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:404)
org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:136)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
原因:导出excel时,excel表中的某个单元格数据过大,然而在创建时,使用了localHSSFSheet.setColumnWidth()控制住了单元格的列宽,所以会显示单元格最大列宽255错误。
解决办法:
1.将这段语句注释掉即可,单元格显示不美观(用的是poi-ooxml-3.14.jar)。
2.定义边界值。
for (int i = 0; i < headerList.size(); i++) {
int colWidth = sheet.getColumnWidth(i)*2;
if(colWidth<255*256){
sheet.setColumnWidth(i, colWidth < 3000 ? 3000 : colWidth);
}else{
sheet.setColumnWidth(i,6000 );
}
}
更多推荐
导出excel时报The maximum column width for an individual cell is 255 characters
发布评论