特定の期間のすべてのトランザクションのレポートを生成する必要があるという要件があり、それに応じてセル形式を適用する必要があります。この場合、シートに 32748 個のセルを作成した後、特に日付に対してセルの書式設定が機能しません。これは API のバグのようです。誰かが既にこの問題に直面し、修正を見つけた場合は、いくつかの情報を提供してください。
参考までに、サンプルコードは次のとおりです。
public class TestFormat {
public static void main(String args[]){
try {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Excel Sheet");
HSSFDataFormat format = wb.createDataFormat();
for(int i = 1; i<65535;i++ ) {
HSSFRow row = sheet.createRow(i);
HSSFCell cell = row.createCell(1);
HSSFCellStyle style = wb.createCellStyle();
cell.setCellValue((Date) new Date());
style.setDataFormat(format.getFormat("MM/dd/yyyy HH:mm:ss"));
cell.setCellStyle(style);
}
FileOutputStream fileOut;
fileOut = new FileOutputStream("c:\\test\\excelFile.xls");
wb.write(fileOut);
fileOut.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Data is saved in excel file.");
}
}