首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在POI hssf中设置列而不是单元格的格式

如何在POI hssf中设置列而不是单元格的格式
EN

Stack Overflow用户
提问于 2012-08-21 15:42:59
回答 3查看 18.8K关注 0票数 1

当我打开一个包含数百/数千行数据的excel文件时,我遇到了一个问题,“太多不同的单元格格式”

有关错误的更多信息

http://excelzoom.com/2009/09/the-mystery-of-excels-too-many-different-cell-formats/

所以我试着格式化一个列,而不是一个单元格。我知道如何格式化一个列的唯一方法是格式化每个单独的单元格;通过实现下面列出的代码。我想格式化一列而不是一行。我有成百上千行的数据要格式化。任何建议都将不胜感激。

谢谢,

代码语言:javascript
运行
复制
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);
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-22 08:44:12

在这里找到答案

http://poi.apache.org/faq.html#faq-N1014B转到部分

  1. 我在相关功能库中创建工作簿时正在使用样式,但

拒绝打开文件,并抱怨“样式太多”。

相同的

票数 5
EN

Stack Overflow用户

发布于 2016-03-26 17:02:39

至少当您使用“新”Excel格式时,有一种更好的方法。使用:

代码语言:javascript
运行
复制
((XSSFSheet)sheet).getColumnHelper().setColDefaultStyle(col, myStyle);

使用此选项将确保即使在插入数据的行下样式也会继续。生成的文件也会更小。

票数 6
EN

Stack Overflow用户

发布于 2013-09-23 20:04:12

由于您尚未定义循环外的CellStyle对象,因此每次都会为工作簿创建新对象,因此每次创建多个对象都会引发错误。

因此在类中创建更高级别的CellStyle对象&使用wb.createCellStyle();引用循环中的相同对象

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12050323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档