当我打开一个包含数百/数千行数据的excel文件时,我遇到了一个问题,“太多不同的单元格格式”
有关错误的更多信息
http://excelzoom.com/2009/09/the-mystery-of-excels-too-many-different-cell-formats/
所以我试着格式化一个列,而不是一个单元格。我知道如何格式化一个列的唯一方法是格式化每个单独的单元格;通过实现下面列出的代码。我想格式化一列而不是一行。我有成百上千行的数据要格式化。任何建议都将不胜感激。
谢谢,
HSSFCellStyle cellStyle = wb.createCellStyle();
HSSFDataFormat dataFormat = wb.createDataFormat();
cellStyle.setDataFormat(dataFormat.getFormat("0.00"));
HSSFRow row = sheet.createRow(iRow);
HSSFCell cell = row.createCell((short)1);
cell.setCellStyle(cellStyle);发布于 2012-08-22 08:44:12
在这里找到答案
http://poi.apache.org/faq.html#faq-N1014B转到部分
拒绝打开文件,并抱怨“样式太多”。
相同的
发布于 2016-03-26 17:02:39
至少当您使用“新”Excel格式时,有一种更好的方法。使用:
((XSSFSheet)sheet).getColumnHelper().setColDefaultStyle(col, myStyle);使用此选项将确保即使在插入数据的行下样式也会继续。生成的文件也会更小。
发布于 2013-09-23 20:04:12
由于您尚未定义循环外的CellStyle对象,因此每次都会为工作簿创建新对象,因此每次创建多个对象都会引发错误。
因此在类中创建更高级别的CellStyle对象&使用wb.createCellStyle();引用循环中的相同对象
https://stackoverflow.com/questions/12050323
复制相似问题