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을 조작하지 않아도 됩니다.

좋은 웹페이지 즐겨찾기