使用jxl创建日程管理表格 转载:http://blog.csdn.net/flowing/archive/2005/12/14/552369.aspx
[@more@]习惯上,每周都会创建一个管理该周日程的Excel文件。该文件名为"yyyy年第w周",里面包括八个sheet,名称依次为"w周",以及这周包括的七天的日期。每个sheet左上角有一个两行七列的表格,第一行为"周日"-"周六",第二行为七天的日期。
借助于jxl.jar,可实现自动创建。完整的代码如下所示:
/*
* 创建日期 2005-12-13
*/
package org.easev.scheduler;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
/**
* 创建当前周的schedule文件
* 依赖jxl.jar
*
* @author liusu
*/
public class Console {
public static final SimpleDateFormat formatter = new SimpleDateFormat(
"MM.dd");
public static final String[] ZH_DAY_OF_WEEK = { "周日", "周一", "周二", "周三",
"周四", "周五", "周六" };
/**
* 可考虑借助于参数加入一些定制行为
*
* @param args
*/
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
//获取当前年份及周次,从而得到schedule文件名
int currentYear = cal.get(Calendar.YEAR);
int currentWeek = cal.get(Calendar.WEEK_OF_YEAR);
String fileName = currentYear + "年第" + currentWeek + "周.xls";
//sheet名称
String[] sheetNames = new String[8];
sheetNames[0] = currentWeek + "周";
//为恢复用
int CUR_DAY_OF_WEEK = cal.get(Calendar.DAY_OF_WEEK);
for (int i = 1; i < sheetNames.length; i++) {
cal.set(Calendar.DAY_OF_WEEK, i);
sheetNames[i] = formatter.format(cal.getTime());
}
//恢复cal设置(可能并不需要)
cal.set(Calendar.DAY_OF_WEEK, CUR_DAY_OF_WEEK);
try {
WritableWorkbook workbook = Workbook.createWorkbook(new File(
fileName));
WritableSheet[] sheets = new WritableSheet[8];
WritableCellFormat cellFormat = new WritableCellFormat();
cellFormat.setAlignment(Alignment.CENTRE);
for (int i = 0; i < sheets.length; i++) {
sheets[i] = workbook.createSheet(sheetNames[i], i);
for (int j = 0; j < 7; j++) {
sheets[i].addCell(new Label(j, 0, ZH_DAY_OF_WEEK[j],
cellFormat));
}
for (int j = 0; j < 7; j++) {
sheets[i].addCell(new Label(j, 1, sheetNames[j + 1],
cellFormat));
}
}
workbook.write();
workbook.close();
} catch (IOException e) {
e.printStackTrace();
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7199667/viewspace-915322/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7199667/viewspace-915322/

159

被折叠的 条评论
为什么被折叠?



