В моем Java классе я заявляю клетку, как:Создание новой ячейки, копирование стиля предыдущей ячейки в Apache POI ..?
HSSFCell cell = null;
И я использую эту ячейку во многих местах, чтобы создать ячейку и установить значение, стили. Например:
cell = row.createCell(1);
cell.setCellValue("1234.00");
setCellStyle(currency, cell, workbook);
cell = row.createCell(2);
setCellValue("2445.00");
Теперь удивительно, что формат данных первой ячейки применяется к 2-й ячейке. У кого-нибудь есть идеи? Я ожидаю, что стиль второй ячейки будет никем. И стиль 1-й ячейки должен быть с форматом данных, применяемым методом setCellStyle(). Но на самом деле я получаю оба значения ячейки с форматом данных, применяемым методом setCellStyle(). Метод
setCellStyle():
public void setCellStyle(String currency, HSSFCell cell, HSSFWorkbook workbook){
HSSFCellStyle cellStyle = cell.getCellStyle();//I am using cell.getStyle() because the default cell style is not null for a HSSFCell
HSSFDataFormat dataFormat = workbook.createDataFormat();
if("GBP".equalsIgnoreCase(currency)){
cellStyle.setDataFormat(dataFormat.getFormat("[$£-809]#,##0_);[Red]([$£-809]#,##0)"));
}else(){
cellStyle.setDataFormat(dataFormat.getFormat("$#,##0_);[Red]($#,##0)"));
}
}
В HSSFRow нет метода 'createCell (String)'. – rgettman
@rgettman моя ошибка, отредактировано –
Что такое 'CUSTOM_STYLE_WITH_DATA_FORMAT'? Вы проверили формат данных в Excel с помощью Format -> Format Cells? – rgettman