Я хочу добавить стиль в свой файл Excel. Я хочу установить ширину строки / столбца и цвет строки. Я не понимаю, как я могу добавить это. Ниже мой код, в котором я пишу файл Excel.
workbook = new HSSFWorkbook();
//create a new work sheet
sheet = workbook.createSheet("Test Result");
CellStyle style = sheet.getWorkbook().createCellStyle();
style.setWrapText(true);
testresultdata = new LinkedHashMap<String, Object[]>();
//add test result excel file column header
//write the header in the first row
testresultdata.put("1", new Object[]{"Excel First Row",
"Excel Second Row", "Excel 3rd Row", "Excel 4th Row"}); //This line i wrote the excel
Set<String> keyset = testresultdata.keySet();
int rownum = 0;
for (String key : keyset) {
Row row = sheet.createRow(rownum++);
Object[] objArr = testresultdata.get(key);
int cellnum = 0;
for (Object obj : objArr) {
Cell cell = row.createCell(cellnum++);
if (obj instanceof Date)
cell.setCellValue((Date) obj);
else if (obj instanceof Boolean)
cell.setCellValue((Boolean) obj);
else if (obj instanceof String)
cell.setCellValue((String) obj);
else if (obj instanceof Double)
cell.setCellValue((Double) obj);
}
}
Текущее представление Excel. Я хочу показать его организованным способом.




Вам не хватает стиля для ячейки.
cell.setCellStyle(cellStyle);
int cellnum = 0;
for (Object obj : objArr) {
Cell cell = row.createCell(cellnum++);
cell.setCellStyle(cellStyle);
if (obj instanceof Date)
cell.setCellValue((Date) obj);
else if (obj instanceof Boolean)
cell.setCellValue((Boolean) obj);
else if (obj instanceof String)
cell.setCellValue((String) obj);
else if (obj instanceof Double)
cell.setCellValue((Double) obj);
}
Можете ли вы добавить другие стили, например цвет фона, чтобы проверить, работает ли стиль? cellStyle.setFillForegroundColor (новый HSSFColor (новый java.awt.Color (255, 244, 233))); style.setFillPattern (HSSFCellStyle.SOLID_FOREGROUND);
cell.setCellStyle (стиль ячеек); здесь cellStyle выдает ошибку. Где мне нужно определить cellStyle?
Спасибо за ответ, но не повезло.