import org.apache.poi.ss.usermodel.*;
 
Workbook workbook = new XSSFWorkbook(); // 或使用HSSFWorkbook() for .xls
Sheet sheet = workbook.createSheet("Sheet1");
 
CellStyle style = workbook.createCellStyle();
// 设置上下内边距,单位为点
style.setPadding(CellStyle.BORDER_MEDIUM, (short) 0); // 上边距
style.setPadding(CellStyle.BORDER_MEDIUM, (short) 500); // 下边距
 
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("单元格内容");
cell.setCellStyle(style);
 
// 写入到文件
try (OutputStream outputStream = new FileOutputStream("example.xlsx")) {
    workbook.write(outputStream);
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.

请注意,单元格的内边距是以点为单位的,1点大约等于1/72英寸。上面的代码中,我们设置了上下内边距分别为0点和500点,这只是一个示例值,您可以根据实际需求调整这些值。

此外,Apache POI没有直接提供设置单元格上下边距的方法,因此需要通过设置内边距来模拟。这种方法可能不会完美匹配Excel中的边框样式,因为边框的绘制方式可能不同,但对于简单的边距需求来说,这是一个可行的解决方案。