jxl 작업 Excel: 사용자 정의 날짜 형식 읽기
오늘 문제가 발생했습니다. jxl이 날짜 형식의 데이터를 읽을 때 데이터 형식이 Number 형식으로 바뀌었습니다.
물론 Date 유형도 있습니다.
두 가지 차이점은 다음과 같습니다.
2014년 12월 25일
2014-12-25
현재, 상기 두 가지 날짜 유형에 비해 동시에 처리한다.코드는 다음과 같습니다.
package com.syxp.yjxx.test;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import jxl.CellType;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
public class Test {
public static void main(String[] args) {
try {
Workbook workbook = Workbook.getWorkbook(new File("D:\\1234.xls"));
Sheet sheet = workbook.getSheet(0);
System.out.println("================Sheet.Type==============="+sheet.getCell(3, 2).getType().toString());
if(sheet.getCell(3, 2).getType()==CellType.NUMBER){
String mystr= sheet.getCell(3,2).getContents();
System.out.println("==========Number============"+dayAddition(Integer.parseInt(mystr)));
}else if(sheet.getCell(3, 2).getType()==CellType.DATE){
String mystr= sheet.getCell(3,2).getContents();
System.out.println("==============String============"+mystr);
}
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//
public static String dayAddition(int num) throws Exception{
SimpleDateFormat timeformat = new SimpleDateFormat("dd/MM/yyyy");
java.util.Date date = timeformat.parse("01/01/1900");
Calendar a = Calendar.getInstance();
a.setTime(date);
a.add(Calendar.DATE, (num-2));
return timeformat.format(a.getTime());
}
}
그리고 다음에는 Jxl에서 Excel을 조작하지 않아도 됩니다.