首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将样式应用于单元格区域- Apache POI

将样式应用于单元格区域- Apache POI
EN

Stack Overflow用户
提问于 2016-06-13 14:13:19
回答 1查看 7.7K关注 0票数 3

我正在寻找一种解决方案,可以将样式应用于一系列单元格,而不必在其上循环。

尝试了在stackoverflow上找到的其他解决方案,都没有奏效。例如,这对我不起作用:

代码语言:javascript
复制
CellRangeAddress region = CellRangeAddress.valueOf("A1:B2");
short borderStyle = CellStyle.BORDER_THIN;
RegionUtil.setBorderBottom(borderStyle, region, activeSheet, excelWorkbook);
RegionUtil.setBorderTop(borderStyle, region, activeSheet, excelWorkbook);
RegionUtil.setBorderLeft(borderStyle, region, activeSheet, excelWorkbook);
RegionUtil.setBorderRight(borderStyle, region, activeSheet, excelWorkbook);

它在所选内容的外边缘添加边框,而不是向内部单元格添加边框。我想为范围内的每个单元格设置一个边框。在没有循环的情况下,这是可能的吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-06-15 16:04:56

我不认为你可以将样式应用到范围单元格中的所有单元格,而不是单独应用于单个单元格。

尝试在每个单元格上循环并应用所有边框。

下面是一个可能对您有帮助的示例:

代码语言:javascript
复制
CellStyle cellStyle = workbook.createCellStyle();
cellStyle.setBorderLeft(CellStyle.BORDER_THIN);
cellStyle.setBorderRight(CellStyle.BORDER_THIN);
cellStyle.setBorderTop(CellStyle.BORDER_THIN);
cellStyle.setBorderBottom(CellStyle.BORDER_THIN);
for(int i=region.getFirstRow();i<region.getLastRow();i++){
    Row row = sheet.getRow(i);
    for(int j=region.getFirstColumn();j<region.getLastColumn();j++){
        Cell cell = row.getCell(j);
        cell.setCellStyle(cellStyle);
    }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37782880

复制
相关文章

相似问题

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