Я использую простые лица 6.1.Мне нужно экспортировать мой список отчетов в формат Excel. Для этого я использовал экспортер основных данных. DataExporter предоставляет мне формат Excel.Я также установил шрифт в Excel.Но шрифт не полностью работает в моем файле Excel. Заданный шрифт отображается только в заголовке таблицы.Мой код выглядит так:
public void postProcessXLS(Object document) {
HSSFWorkbook wb = (HSSFWorkbook) document;
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow header = sheet.getRow(0);
HSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setFillForegroundColor(HSSFColor.AQUA.index);
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
HSSFFont fontHeader = (HSSFFont) wb.createFont();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
fontHeader.setFontName("Magnus Nepali");
cellStyle.setFont(fontHeader);
for(int i=0; i < header.getPhysicalNumberOfCells();i++) {
HSSFCell cell = header.getCell(i);
cell.setCellStyle(cellStyle);
}
}
Мой код кнопки:
<p:commandButton id="excel" ajax="false">
<p:dataExporter type="xls" target="tblReport" fileName="report" postProcessor="#{shareDividendMB.postProcessXLS}" />
</p:commandButton>
Мой формат Excel выглядит следующим образом:
Только заголовок листа Excel был изменен на определенный шрифт, а оставшиеся данные имеют шрифт Arial. Я попробовал использовать другой шрифт, и результат такой же.