我正在使用 Apache POI 读取现有模板 excel 文件,并希望复制某些标题行中的现有样式并将它们应用于新单元格。
似乎没有应用现有格式(IE、日期、货币、百分比等)。
代码非常基本:
//read existing style
Row existingRow = sheet.getRow(headerRowIndex);
Cell existingCell = existingRow.getCell(0);
CellStyle currentStyle = existingCell.getCellStyle();
//apply date style here
Date date = StringUtil.toDate(map.get(column.getHeaderName()));
cell.setCellValue(date);
//apply previous style
cell.setCellStyle(currentStyle);
它确实复制了字体和背景颜色等,但格式似乎丢失了(所有单元格都应用了“通用”格式)。
当我这样做时:
currentStyle.getDataFormat(); // always 0
所以这让我觉得我没有正确阅读格式。关于如何做到这一点的任何想法?