ITPub博客

首页 > 数字化转型 > ERP > 使用jxl创建日程管理表格

使用jxl创建日程管理表格

原创 ERP 作者:pingyuan 时间:2007-05-17 11:10:34 0 删除 编辑

使用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博客 ” ,链接:https://blog.itpub.net/7199667/viewspace-915322/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    109
  • 访问量
    1483928