给Excel设置边框可以使用"Free Spire.XLS for
Java" (https://link.segmentfault.com/?enc=bjgLsyfYnPxTbWb8esQAVQ%3D%3D.AdmFF%2FFR6aIn7n3eoMPWSANbbWqxyjp3td1woE7gC22F9cYt%2F5zkNf32m5YTVdVEPPOKE%2B302pOzijE%2FkxjQOw%3D%3D),上、下、左、右、对角线边框等都可以设置
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();
}
}