poi 获取excel列宽度_Java Excel POI 实现合并单元格以及列自适应宽度-Fun言

本文介绍了如何使用Apache POI库在Java中操作Excel,包括合并单元格和实现列自适应宽度。强调了在处理中文字符时的注意事项,如使用`autoSizeColumn`的局限性和字符串长度计算方法。此外,还提到了处理公式单元格自适应宽度无效的问题,以及POI中IndexedColors的颜色索引列表。
摘要由CSDN通过智能技术生成

POI是apache提供的一个读写Excel文档的开源组件,在操作excel时常要合并单元格,合并单元格的方法是:

sheet.addMergedRegion(new CellRangeAddress(1, 1, 0, 2));

public CellRangeAddress(int firstRow, int lastRow, int firstCol, int lastCol)

自适应列宽度:

sheet.autoSizeColumn(1);

sheet.autoSizeColumn(1, true);

这两种方式都是自适应列宽度,但是注意这个方法在后边的版本才提供,poi的版本不要太老。 注意:第一个方法在合并单元格的的单元格并不好使,必须用第二个方法。

sheet.setColumnWidth(m, “列名”.getBytes().length*2*256);

这个方法是计算字符串的长度,以便设置列宽,该方法在解决中文的问题上比较好,前面两种方法对中文不好好用。。。。

还有在自适应宽度的时候,有时候遇到单元格是公式单元格,自适应不起作用,那是因为单元格存的是公式,并不是真正的数据,解决方法:

HSSFFormulaEvaluator evaluator = new HSSFFormulaEvaluator(sheet.getWorkbook());

CellValue cell71Val = evaluator.evaluate(cell71);

cell71.setCellValue(cell71Val.getNumberValue());

将格式化后的数据再次set进去,就是真正的值了。

POI IndexedColors 所有颜色索引

olor

org.apache.poi.hssf.util.HSSFColor$GREY_80_PERCENT@1aadbf7

color

org.apache.poi.hssf.util.HSSFColor$INDIGO@4f4458

color

org.apache.poi.hssf.util.HSSFColor$PLUM@100c56

color

org.apache.poi.hssf.util.HSSFColor$BROWN@19a1fae

color

org.apache.poi.hssf.util.HSSFColor$OLIVE_GREEN@1960c9e

color

org.apache.poi.hssf.util.HSSFColor$DARK_GREEN@168f39

color

org.apache.poi.hssf.util.HSSFColor$SEA_GREEN@11525cd

color

org.apache.poi.hssf.util.HSSFColor$DARK_TEAL@164e67f

color

org.apache.poi.hssf.util.HSSFColor$GREY_40_PERCENT@158cfda

color

o

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值