2011-05-06 2 views
1

그래서 Java HSSF POI를 사용하여 Excel 문서를 채우고 있으며 일부 헤더가 이미 들어있는 Excel 템플릿을 사용하고 있습니다. .Java HSSF POI를 사용하여 Excel에서 필드 채우기 - Excel에서 날짜 필드를 올바르게 정렬하지 않음

HSSFWorkbook workbook = readFile(TEMPLATE_LOCATION); 

그리고 내 문제는 내가 너무 좋아/DD/YYYY ...

row.createCell((short)column++).setCellValue(Tools.dateToString(rfq.getCreationDate())); 

MM의 날짜 형식에서 데이터 열 중 하나를 채울 때 적절하게 열을 채우는 것입니다 같은 데이터 .... 01/01/2011 05/04/2010autofilter-이> 종류 그렇게 같은 잘못된 순서로 날짜를 반환 한 후 상승하는 말을 사용 6,2009년 3월 3일

내가 (엑셀)이 열에 정렬을 실행할 때 버그가 ....

2009년 3월 3일

05/04/2010

01/01/2011

(그것은 문자열처럼 읽고 대신 날짜별로 정렬의 정렬되기 때문에)

,536 ...

은 내가 "숫자"컬럼으로 설정하려고하고 일종의 여전히 주사위 .... 또한이 방식으로 포맷하기

 cell = row.createCell((short)column++); 
     cell.setCellStyle(workbook.createCellStyle()); 
     cell.getCellStyle().setAlignment(HSSFCellStyle.ALIGN_RIGHT); 
     cell.setCellType(cell.CELL_TYPE_NUMERIC); 
     cell.setCellValue(Tools.dateToString(rfq.getCreationDate())); 

뿐만 아니라 도움이되지 않았다

SimpleDateFormat formatter = new SimpleDateFormat("M/d/yyyy"); 
row.createCell((short)column++).setCellValue(formatter.format(order.getCreationDate())); 

이것은 Excel 2003에서 모두 진행됩니다. 해결 방법이 없습니다. 당신이 세포를 채울 때

답변

2

귀하의 문제는 당신이 문자열로 데이터를 변환하는 것입니다

row.createCell((short)column++).setCellValue(Tools.dateToString(rfq.getCreationDate())); 

내가 자바 사용자가 아닌, 그래서 확실하지,하지만 당신은 단지

row.createCell((short)column++).setCellValue(rfq.getCreationDate()); 
을 시도 할 수

기본 데이터가 Excel에서 날짜로 인식하는 형식 인 경우 확인해야합니다.

관련 문제