import javax.servlet.http.*;
import java.util.*;
import java.lang.Integer;
import java.io.File;
import jxl.Workbook;
import jxl.write.WritableWorkbook;
import jxl.write.WritableSheet;
import jxl.write.WritableFont;
import jxl.write.WritableCellFormat;
import jxl.write.Label;
import jxl.format.Alignment;
import jxl.format.VerticalAlignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
public class prv extends HttpServlet {
//Initialize global variables
//Process the HTTP Get request
public static void main(String args[])
{
boolean booleanbExportSucc=false;
String filesavename="";
{//处理出文件名
Calendar now = Calendar.getInstance();
String year = now.get(Calendar.YEAR) + "";
int iMonth = now.get(Calendar.MONTH) + 1 ;
String month = iMonth + "";
String day = now.get(Calendar.DATE) + "";
String hour = now.get(Calendar.HOUR_OF_DAY) + "";
String minute = now.get(Calendar.MINUTE) + "";
String second = now.get(Calendar.SECOND) + "";
filesavename = year + month + day + hour + minute + second;
}
File filepath = new File("d:/Exceltest2");
if (filepath.exists()){
System.out.println("路径已经存在!<br/>");
}else {
filepath.mkdir();
}
String sCurrPath="d:/Exceltest2/"+filesavename+".xls";
//String myfilepath = request.getRealPath(sCurrPath);
File file = new File(sCurrPath);
try{
file.createNewFile();
//获取文件的URL地址
}
catch(Exception e)
{
System.out.println("创建文件失败!");
}
//以下开始输出到EXCEL
try {
/************创建工作簿*************/
WritableWorkbook workbook = Workbook.createWorkbook(new File(sCurrPath));
/************创建工作表*************/
WritableSheet sheet = workbook.createSheet("报表系统", 0);
//sheet.setPageSetup(5,true);
/************设置纵横打印(默认为纵打)、打印纸******************/
//sheet.setPageSetup(PageOrientation.LANDSCAPE.LANDSCAPE,0,0);
//sheet.setPageSetup(PageOrientation.LANDSCAPE.LANDSCAPE,PaperSize.A4,0,0);
//sheet.addRowPageBreak(12);
jxl.SheetSettings sheetset=sheet.getSettings();
sheetset.setProtected(false);
//sheet.setColumnView(0,5);
//sheet.setColumnView(1,12);
/**************设置单元格字体***************/
WritableFont NormalFont = new WritableFont(WritableFont.ARIAL,10);
WritableFont BoldFont = new WritableFont(WritableFont.ARIAL,14,WritableFont.BOLD);
/**************以下设置几种格式的单元格*************/
//用于正文居左
WritableCellFormat wcf_left = new WritableCellFormat(NormalFont);
wcf_left.setBorder(Border.NONE, BorderLineStyle.THIN); //线条
wcf_left.setVerticalAlignment(VerticalAlignment.TOP); //文字垂直对齐
wcf_left.setAlignment(Alignment.LEFT); //文字水平对齐
wcf_left.setWrap(false); //文字是否换行
//用于正文居右
WritableCellFormat wcf_right = new WritableCellFormat(NormalFont);
wcf_right.setBorder(Border.ALL, BorderLineStyle.THIN); //线条
wcf_right.setVerticalAlignment(VerticalAlignment.CENTRE); //文字垂直对齐
wcf_right.setAlignment(Alignment.RIGHT); //文字水平对齐
wcf_right.setWrap(false); //文字是否换行
//用于正文居中
WritableCellFormat wcf_center = new WritableCellFormat(NormalFont);
wcf_center.setBorder(Border.ALL, BorderLineStyle.THIN); //线条
wcf_center.setVerticalAlignment(VerticalAlignment.CENTRE); //文字垂直对齐
wcf_center.setAlignment(Alignment.CENTRE); //文字水平对齐
wcf_center.setWrap(false); //文字是否换行
//用于跨行
WritableCellFormat wcf_merge = new WritableCellFormat(BoldFont);
wcf_merge.setBorder(Border.ALL, BorderLineStyle.THICK); //线条
wcf_merge.setVerticalAlignment(VerticalAlignment.CENTRE ); //文字垂直对齐
wcf_merge.setAlignment(Alignment.CENTRE); //文字水平对齐
wcf_merge.setWrap(false); //文字是否换行
/**************单元格格式设置完成*******************/
/*****************以下是定单内容**********************/
//第0列为项目
//第1列
Vector print=new Vector();
String[][] str={{"11111111111111","22222222222222222222"},{"33333333333333333333","444444444444444444"}};
print.add( 0,"5555");
print.add( 1,"XXXX数据");
print.add( 2,"77777");
print.add( 3,"12");
String[][] temp=str;
String vTitle=(String)print.get(1);
int chang=Integer.parseInt("22");
java.util.Date systempDate = new java.util.Date();
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String sysDate = format.format(systempDate);
sheet.mergeCells(0,0,chang,0);
sheet.addCell(new Label(0,0,vTitle,wcf_center));
//sheet.mergeCells(0,1,1,2);地市17
sheet.addCell(new Label(0,1,"AA",wcf_left));
sheet.addCell(new Label(1,1,"VV",wcf_left));
sheet.addCell(new Label(2,1,"CC",wcf_left));
sheet.addCell(new Label(3,1,"asd",wcf_left));
sheet.addCell(new Label(4,1,"asd",wcf_left));
sheet.addCell(new Label(5,1,"asd",wcf_left));
sheet.addCell(new Label(6,1,"qwd",wcf_left));
sheet.addCell(new Label(7,1,"qwd",wcf_left));
sheet.addCell(new Label(8,1,"qwd",wcf_left));
sheet.addCell(new Label(9,1,"qwd",wcf_left));
sheet.addCell(new Label(10,1,"qwd",wcf_left));
sheet.addCell(new Label(11,1,"qwd",wcf_left));
sheet.addCell(new Label(12,1,"43",wcf_left));
sheet.addCell(new Label(13,1,"egg",wcf_left));
sheet.addCell(new Label(14,1,"hn",wcf_left));
sheet.addCell(new Label(15,1,"rth",wcf_left));
sheet.addCell(new Label(16,1,"sth",wcf_left));
sheet.addCell(new Label(17,1,"srth",wcf_left));
sheet.addCell(new Label(18,1,"srth",wcf_left));
sheet.addCell(new Label(19,1,"srth",wcf_left));
sheet.addCell(new Label(20,1,"srth",wcf_left));
sheet.addCell(new Label(21,1,"srth",wcf_left));
sheet.addCell(new Label(22,1,"srth",wcf_left));
for(int m=0;m<temp.length;m++)
{
for(int n=0;n<temp[m].length;n++)
{
sheet.addCell(new Label(n,m+6,temp[m][n].replaceAll("/"","").trim(),wcf_center)); //第0行
}
}
/************以上所写的内容都是写在缓存中的,下一句将缓存的内容写到文件中*********/
workbook.write();
/***********关闭文件**************/
workbook.close();
booleanbExportSucc = true;//为用户提供下载链接
}catch(Exception e){
e.printStackTrace();
System.out.println("在输出到EXCEL的过程中出现错误,错误原因:"+e.toString());
}
}
}