1. 概述

在这个教程中,我们将学习如何使用 Apache POI Java库为Excel工作表添加边框。

对于更基础的Excel处理,可以从使用Java处理Microsoft Excel开始。

2. Excel边框

我们可以为单个单元格或一组单元格创建边框。这些边框样式多种多样,例如粗线、细线、中线和点线。为了增加多样性,还可以有彩色边框

这张图片展示了部分样例边框:

  • 单元格B2有粗线边框
  • D2单元格有一个宽大的紫色边框
  • F2单元格的边框很奇特,每个边的样式和颜色都不同
  • 区域B4:F6有中等大小的边框
  • 区域B8:F9有橙色中等大小的边框

3. 为Excel边框编码

Apache POI库提供了多种处理边框的方法。一种简单的方式是引用单元格范围并应用边框。

3.1. 单元格范围或区域

要引用一组单元格,可以使用CellRangeAddress类:

CellRangeAddress region = new CellRangeAddress(7, 8, 1, 5);

CellRangeAddress构造函数接受四个参数:第一行、最后一行、第一列和最后一列。每行和每列的索引从0开始。在上述代码中,它引用的是B8到F9的单元格范围。

我们也可以使用CellRangeAddress类引用单个单元格:

CellRangeAddress region = new CellRangeAddress(1, 1, 5, 5);

这段代码引用的是F2单元格。

3.2. 单元格边框

每个边框有四个边:上、下、左和右。必须分别设置每个边的边框样式BorderStyle类提供了各种样式。

我们可以使用RangeUtil类设置边框:

RegionUtil.setBorderTop(BorderStyle.DASH_DOT, region, sheet);
RegionUtil.setBorderBottom(BorderStyle.DOUBLE, region, sheet);
RegionUtil.setBorderLeft(BorderStyle.DOTTED, region, sheet);
RegionUtil.setBorderRight(BorderStyle.SLANTED_DASH_DOT, region, sheet);

3.3. 边框颜色

边框颜色也需要分别设置在每个边上。IndexedColors类提供了一系列可用的颜色。

我们可以使用RangeUtil类设置边框颜色:

RegionUtil.setTopBorderColor(IndexedColors.RED.index, region, sheet);
RegionUtil.setBottomBorderColor(IndexedColors.GREEN.index, region, sheet);
RegionUtil.setLeftBorderColor(IndexedColors.BLUE.index, region, sheet);
RegionUtil.setRightBorderColor(IndexedColors.VIOLET.index, region, sheet);

4. 总结

在这篇短文中,我们了解了如何使用CellRangeAddressRegionUtilBorderStylesIndexedColors类生成各种各样的单元格边框。每个边框边的设置都需要独立进行。

如常,代码和测试已在GitHub上提供。