0
자바를 통해 Excel 시트를 만들 때, 오라클 테이블에 number
데이터 유형을 가진 열이 text
형식으로 변환됩니다. number
형식으로 유지하고 싶습니다. 아래 코드는 Excel 작성을위한 코드입니다.자바를 통해 생성 된 Excel 시트에 정수 값을 설정하는 방법은 무엇입니까?
public boolean prepareExcelFilefromQuery(String chanType,
Collection<List> queryDataRowWise, HttpServletResponse response)
{
List<String> queryDataColWise;
HSSFRow row = null;
HSSFCell cell = null;
Integer rowCounter = 0;
Integer colCounter;
boolean success = false;
try {
Iterator<List> rowIterator = queryDataRowWise.iterator();
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet(chanType + " Report");
System.out.println("First row/..." + sheet.getFirstRowNum());
while (rowIterator.hasNext()) {
colCounter = 0;
queryDataColWise = (List) rowIterator.next();
Iterator colIterator = queryDataColWise.iterator();
row = sheet.createRow(rowCounter++);
while (colIterator.hasNext()) {
cell = row.createCell(colCounter++);
Object o = colIterator.next();
if (o instanceof java.lang.String) {
String s = (String) o;
cell.setCellValue(s);
} else if (o instanceof java.lang.Double) {
Double d = (Double) o;
cell.setCellValue(d);
} else if (o instanceof java.lang.Integer) {
Integer i = (Integer) o;
cell.setCellType(cell.CELL_TYPE_NUMERIC);
cell.setCellValue(i);
} else if (o instanceof java.util.Date) {
Date date = (Date) o;
SimpleDateFormat FORMATTER;
FORMATTER = new SimpleDateFormat("MM/dd/yyyy");
String date11 = FORMATTER.format(date);
HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setDataFormat(HSSFDataFormat
.getBuiltinFormat("m/d/yy"));
cell.setCellStyle(cellStyle);
cell.setCellValue(FORMATTER.parse(date11));
}
}
}
workbook.write(response.getOutputStream());
success = true;
} catch (Exception e) {
logger.debug(
"Exception caught in prepareExcelFilefromQuery class ", e);
System.out
.println("Exception caught in prepareExcelFilefromQuery class ");
e.printStackTrace();
}
}
return success;
}
이들은 Java 표준 라이브러리 클래스가 아닙니다. javadoc 또는 라이브러리를 가리키면 답변을 얻을 수있는 기회가 늘어납니다. – ignis