У меня проблемы при присоединении к стилям и шрифтам. Наконец, когда я создал excel, excel добился успеха, но у моего excel нет стиля и шрифта, у него нет ничего, только данные, мне нужен цвет фона: красный и сплошной белый цвет в строке == 0
Мой код:
try {
String filename = pathTempdownloadFile;
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet(eyelash);
CellStyle backgroundStyle = workbook.createCellStyle();
HSSFFont font = workbook.createFont();
backgroundStyle.setFillBackgroundColor(IndexedColors.RED.getIndex());
font.setColor(IndexedColors.WHITE.getIndex());
HSSFRow rowhead = sheet.createRow((short) 0);
rowhead.createCell(0).setCellValue("YEAR");
rowhead.createCell(1).setCellValue("MONTH");
rowhead.createCell(2).setCellValue("NAME)");
rowhead.createCell(3).setCellValue("SURNAME");
rowhead.setRowStyle(backgroundStyle);
backgroundStyle.setFont(font);
FileOutputStream fileOut = new FileOutputStream(filename);
workbook.write(fileOut);
fileOut.close();
workbook.close();
} catch (Exception ex) {
System.out.println(ex);
}
Повторите: я могу создать Excel с данными, но в My excel нет стиля и шрифта.




Это должно работать:
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet();
HSSFFont font = workbook.createFont();
font.setColor(HSSFColor.WHITE.index);
HSSFCellStyle style = workbook.createCellStyle();
style.setFont(font);
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
style.setFillForegroundColor(HSSFColor.RED.index);
List<String> header = Arrays.asList(new String [] {"YEAR", "MONTH", "NAME", "SURNAME"});
HSSFRow rowhead = sheet.createRow((short) 0);
int cellnum = 0;
for (String s : header) {
HSSFCell cell = rowhead.createCell(cellnum++);
cell.setCellValue(s);
cell.setCellStyle(style);
}
FileOutputStream fileOut = new FileOutputStream(filename);
workbook.write(fileOut);
fileOut.close();
workbook.close();
попробуйте еще раз пожалуйста
«ГОД, МЕСЯЦ, ИМЯ, ФАМИЛИЯ» в той же ячейке ... xD
Извините, в массиве была только одна строка вместо ваших четырех
Перед созданием ячеек следует выполнить форматирование, иначе ничего не произойдет. Так что попробуйте изменить порядок или все остальное. Сначала установите шрифт
backgroundStyle.setFont(font);, прежде чем использоватьHSSFRow rowhead = sheet.createRow((short) 0);, затем используйтеrowhead.setRowStyle(backgroundStyle);и, наконец, создайте свои ячейкиrowhead.createCell(0).setCellValue("YEAR");.