Excel 中对单元格设置边框可用于对单元格内容进行分区,在文件查看或者打印时,也更为美观和实用。通常,可对单元格设置外部边框、内部边框、单元格中的对角线边框,以及对边框设置线条类型、粗细、颜色等格式化操作。下面,将通过使用 Spire.XLS for Java 来展示如何实现给 Excel 文档添加边框并设置相关格式。
安装 Spire.XLS for Java
首先,您需要将 Spire.Xls.jar 文件作为依赖项添加到您的 Java 程序中。可以从此链接下载 JAR 文件。如果您使用 Maven,您可以通过将以下代码添加到项目的 pom.xml 文件中轻松地在应用程序中导入 JAR 文件。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls</artifactId>
<version>14.12.0</version>
</dependency>
</dependencies>
设置单元格边框
Spire.XLS for Java 提供了 CellRange.borderInside() 和 CellRange.borderAround() 方法,用于向指定的单元格添加内部边框和周围边框。要添加上边框、下边框、左边框、右边框和对角边框,可以使用 BordersCollection.getByBordersLineType(BordersLineType index).setLineStyle (LineStyleType lineStyleType) 方法。具体步骤如下:
- 创建 Workbook 类的对象。
- 通过 Workbook.loadFromFile(String fileName) 方法加载 Excel 文档。
- 调用 Workbook.getWorksheets().get(int Index) 方法获取指定工作表。
- 通过 Worksheet.getCellRange(String name) 方法获取单元格。
- 通过 CellRange.getBorders().getByBordersLineType(BordersLineType index).setLineStyle(LineStyleType lineStyleType) 方法设置上/下/左/右/单元格对角线边框。
- 通过 CellRange.getBorders().getByBordersLineType(BordersLineType index).setColor(Color color) 方法设置边框颜色。
- 通过 Workbook.saveToFile(String fileName, ExcelVersion version) 方法保存文档。
- Java
import com.spire.xls.*;
import java.awt.*;
public class SetBorders {
public static void main(String[] args) {
//创建Workbook类的对象
Workbook wb = new Workbook();
//加载Excel工作簿
wb.loadFromFile("sample.xlsx");
//获取第2个工作表
Worksheet sheet = wb.getWorksheets().get(1);
//获取单元格,设置内边框、外边框
CellRange range1 = sheet.getCellRange("B2:G11");
range1.borderInside(LineStyleType.Thin, Color.orange);
range1.borderAround(LineStyleType.Medium, Color.green);
//获取单元格,分别设置上、下、左、右边框
CellRange range2 = sheet.getCellRange("B13:G20");
range2.getBorders().getByBordersLineType(BordersLineType.EdgeTop).setLineStyle(LineStyleType.Thin);
range2.getBorders().getByBordersLineType(BordersLineType.EdgeTop).setColor(Color.red);
range2.getBorders().getByBordersLineType(BordersLineType.EdgeBottom).setLineStyle(LineStyleType.Thin);
range2.getBorders().getByBordersLineType(BordersLineType.EdgeBottom).setColor(Color.GREEN);
range2.getBorders().getByBordersLineType(BordersLineType.EdgeLeft).setLineStyle(LineStyleType.Thin);
range2.getBorders().getByBordersLineType(BordersLineType.EdgeLeft).setColor(Color.blue);
range2.getBorders().getByBordersLineType(BordersLineType.EdgeRight).setLineStyle(LineStyleType.Thin);
range2.getBorders().getByBordersLineType(BordersLineType.EdgeRight).setColor(Color.YELLOW);
//设置单元格中的对角线边框
CellRange range3 = sheet.getCellRange("F23:F25");
range3.getBorders().getByBordersLineType(BordersLineType.DiagonalDown).setLineStyle(LineStyleType.Thin);
CellRange range4 = sheet.getCellRange("F30:F32");
range4.getBorders().getByBordersLineType(BordersLineType.DiagonalUp).setLineStyle(LineStyleType.Thin);
//保存文档
wb.saveToFile("SetBorders.xlsx",FileFormat.Version2013);
wb.dispose();
}
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。