java poi设置所有有数据的单元格边框
时间: 2024-05-12 15:20:30 浏览: 136
table边框设置
以下是使用 Java POI 库来设置所有有数据的单元格边框的示例代码:
```java
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class SetCellBorders {
public static void main(String[] args) {
// 创建工作簿和工作表
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("Sheet1");
// 创建样式,设置单元格边框
XSSFCellStyle style = workbook.createCellStyle();
style.setBorderTop(BorderStyle.THIN);
style.setBorderBottom(BorderStyle.THIN);
style.setBorderLeft(BorderStyle.THIN);
style.setBorderRight(BorderStyle.THIN);
// 创建数据行和单元格
Row row1 = sheet.createRow(0);
Cell cell1 = row1.createCell(0);
cell1.setCellValue("数据1");
cell1.setCellStyle(style);
Row row2 = sheet.createRow(1);
Cell cell2 = row2.createCell(0);
cell2.setCellValue("数据2");
Row row3 = sheet.createRow(2);
Cell cell3 = row3.createCell(0);
cell3.setCellValue("数据3");
cell3.setCellStyle(style);
// 遍历所有有数据的单元格,设置边框
for (int r = 0; r < sheet.getLastRowNum() + 1; r++) {
Row row = sheet.getRow(r);
for (int c = 0; c < row.getLastCellNum(); c++) {
Cell cell = row.getCell(c);
if (cell != null && cell.getCellType() != CellType.BLANK) {
cell.setCellStyle(style);
}
}
}
// 保存工作簿到文件
try {
FileOutputStream outputStream = new FileOutputStream("output.xlsx");
workbook.write(outputStream);
workbook.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个示例代码中,首先创建了一个工作簿和一个工作表。然后创建了一个样式,用于设置单元格的边框。接着创建了三行数据,其中第一行和第三行的单元格设置了样式,第二行的单元格没有设置样式。最后遍历了所有有数据的单元格,如果单元格不为空并且不是空白单元格,就设置了样式。最后将工作簿保存到文件中。
阅读全文