📄 setexcel.java
字号:
package Bean;
import java.io.*;
import java.net.*;
import java.util.*;
import jxl.*;
import jxl.format.UnderlineStyle;
import jxl.read.biff.BiffException;
import java.io.IOException;
import java.io.File;
import jxl.write.Label;
import jxl.write.WritableCell;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
public class setExcel
{
private boolean isnotlate=true;
private int succeed=1;
private String s="项目进展状况汇总/";
private String s1=".xls";
//className为班号
private String className;
// myFileName为文件名
private String myFileName;
//myNumble为时间数据总数
private String myNumble;
//配置文件中“路径信息”“开始时间”
private String pathInfo;
private String startTime;
private int x;
//x为交的次数
private int y;
//y为小组代号
public setExcel(String s)
{
myFileName=s;
setClassName();
setXY();
}
public void updateExcel()
{
try
{
//fieldName为班级汇总表的绝对路径
String fieldName=pathInfo+s+"projectdevelop - "+className+s1;
jxl.Workbook rw = jxl.Workbook.getWorkbook(new File(fieldName));
WritableWorkbook wwb = Workbook.createWorkbook(new File(fieldName),rw);
WritableSheet ws = wwb.getSheet(0);
//正常提交直接填表
isnotlate=isOrNotrLate();
if(isnotlate)
{
ws.addCell(new Label(x+2, 3*y+27, myNumble));
}
//晚交则将其时间显示为红色
else
{
WritableFont wfc = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,
UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);
WritableCellFormat wcfFC = new WritableCellFormat(wfc);
ws.addCell(new Label(x+2, 3*y+27, myNumble,wcfFC));
}
wwb.write();
wwb.close();
rw.close();
}
catch(IOException e)
{
succeed=0;
}
catch(WriteException e)
{
succeed=0;
}
catch(BiffException e)
{
succeed=0;
}
}
//从文件名中得到上交的次数 x,小组代号 y;
public void setXY()
{
int i1=myFileName.indexOf("_");
int a=Integer.parseInt(myFileName.substring(0,i1));
String ss=myFileName.substring(i1+1);
int i2=ss.indexOf("_");
String ss1=ss.substring(i2+1);
int i3=ss1.indexOf("_");
x=Integer.parseInt(ss1.substring(0,i3));
String ss2=ss1.substring(i3+1);
int i4=ss2.indexOf("_");
y=Integer.parseInt(ss2.substring(0,i4));
}
//判断是否晚交
public boolean isOrNotrLate()
{
boolean isornotlate=true;
String dateandtime="";
//取得现在得时间
java.util.Date d = new java.util.Date();
java.util.GregorianCalendar calendar = new java.util.GregorianCalendar();
calendar.setTime(d);
int year = calendar.get(calendar.YEAR);
int month = calendar.get(calendar.MONTH)+1;
int day = calendar.get(calendar.DAY_OF_MONTH);
//取得开始得时间
int sourcetime=newValidate(startTime);
int shouldtime=sourcetime+7*(x-1)-1;
int nowtime=365*year+30*month+day;
//比较时间,晚交时返回 false;
if(nowtime-shouldtime>0)
{
isornotlate=false;
}
return isornotlate;
}
//时间转换函数
public int newValidate(String ss)
{
int i=ss.indexOf("_");
int a=Integer.parseInt(ss.substring(0,i));
String ss2=ss.substring(i+1);
int j=ss2.indexOf("_");
int b=Integer.parseInt(ss2.substring(0,j));
int c=Integer.parseInt(ss2.substring(j+1));
return 365*a+b*30+c;
}
public void setX(String s)
{
x=Integer.parseInt(s);
}
public int getX()
{
return x;
}
public void setMynumble(String s)
{
myNumble=s;
}
public String getMynumble()
{
return myNumble;
}
public void setY(String s)
{
y=Integer.parseInt(s);
}
public int getY()
{
return y;
}
public int getSucceed()
{
return succeed;
}
public void setClassName()
{
int a=myFileName.indexOf("_");
String sss=myFileName.substring(0,a);
className=sss.substring(0,6);
}
public String getClassName()
{
return className;
}
public void setStartTime(String s)
{
startTime=s;
}
public String getStartTime()
{
return startTime;
}
public void setPathInfo(String s)
{
pathInfo=s;
}
public String getPathInfo()
{
return pathInfo;
}
public boolean getIsNotLate()
{
return isnotlate;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -