`

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了。

 

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics