我正在从使用apache POI库的java代码创建Excel报表。格式化Excel单元格时遇到问题。请在下面找到一段代码。Excel表单格式化使用Apache POI
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("coverageData");
int rownum = 0,cellnum=0;
Row row1 = sheet.createRow(rownum++);
Cell cell10 = row1.createCell(cellnum++);
cell10.setCellValue("cell data");
XSSFCellStyle row1style = (XSSFCellStyle)cell10.getCellStyle();
XSSFColor grayColor = new XSSFColor(Color.DARK_GRAY);
row1style.setFillBackgroundColor(grayColor);
cell10.setCellStyle(row1style);
try
{
//Write the workbook in file system
FileOutputStream out = new FileOutputStream(new File("P:\\automation\\Spreadsheet.xlsx"));
workbook.write(out);
out.close();
System.out.println("Spreadsheet.xlsx written successfully on disk.");
}
catch (Exception e)
{
e.printStackTrace();
}
这里的问题是我设置cell10风格的代码最后一行,但它不是由程序创建的Excel工作表中得到的影响。
在此先感谢。
感谢@详细模式多数民众赞成fillmattern罚款。我们是否有类似的方法来添加边框并使单元格数据变为粗体? – prathap
您需要为样式添加字体(XSSFFont valueCellFont =(XSSFFont)workbook.createFont()) - 您可以将字体配置为粗体。 XSSFCellStyle也有设置边界的方法 – Mirco