Extjs4.0上傳並解析excel和導出excel
上傳並解析exce代碼:
String path = ServletActionContext.getServletContext().getRealPath(
"image");// 寫到指定路徑
System.out.println(path);
File file = new File(path);
// 判斷指定的路徑下是否有urlNameFileName,如果沒有,自動創建
if (!file.exists()) {
file.mkdirs();
}
try {
FileUtils.copyFile(urlName, new File(file, urlNameFileName));
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("上傳文件的名稱:" + urlName + "上傳的路徑:" + path + "上傳的類型:"
+ urlNameContentType);
System.out.println(urlNameFileName);
String name = urlNameFileName;
System.out.println(name);
int isa = name.lastIndexOf(".");
System.out.println(isa);
String sub = name.substring(isa + 1);
System.out.println(sub);
if (!"xls".equals(sub)) {
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
try {
PrintWriter out = response.getWriter();
out
.println("<script type='text/javascript' language='javascript'>");
out.println("alert('對不起,您選擇的文檔不符合上傳格式,請重新選擇')");
out.println("history.go(-1)");
out.println("</script>");
} catch (IOException e) {
e.printStackTrace();
}
return null;
}else
{
InputStream is = new FileInputStream(path + "/" + name);
jxl.Workbook rwb = Workbook.getWorkbook(is);
Sheet sheet = rwb.getSheet(0);
int rowss = sheet.getRows();
int cols = sheet.getColumns();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat df1 = new SimpleDateFormat("hh:mm");
for (int i = 2; i < rowss; i++) {
Cell mediaName=sheet.getCell(0, i);
Detectingtable de=new Detectingtable();
String n=mediaName.getContents();
de.setMovieName(n);
System.out.println(de.getMovieName());
if (null!=n && !"".equals(n)) {
List<CrLawusebasic> listbasic=this.crlawusebasicBizImpl.loadLawusebasicByName("name",n);
if (null!=listbasic && listbasic.size()>0) {
for (CrLawusebasic crLawusebasic : listbasic) {
haveList.add(crLawusebasic);
}
}else
{
deteList.add(de);
}
}
}
super.getSession().setAttribute("havelist", haveList);
for (int i = 0; i < haveList.size(); i++) {
String n=df.format(haveList.get(i).getCpstartdate());
String m=df.format(haveList.get(i).getCpenddate());
haveList.get(i).setCpStartdate(n);
haveList.get(i).setCpEnddate(m);
}
super.getSession().setAttribute("deteList", deteList);
System.out.println(deteList.size());
System.out.println(deteList.get(0).getMovieName());
}
/*if(null!=haveList){
haveList.clear();
}*/
super.setMessage("true");
return SUCCESS;
/* HttpServletResponse response = ServletActionContext.getResponse();
String msg = "{success:true}";
response.getWriter().print(msg);
return NONE; */
}
導出代碼:
List datas = null;
datas = haveList;
// 導出execl操作
// 創建流對象
ByteArrayOutputStream os = new ByteArrayOutputStream();
// 創建excel對象
WritableWorkbook wbook;
try {
wbook = Workbook.createWorkbook(os);
// 標題
String tmptitle = "電影信息";
// sheet名稱
WritableSheet wsheet = wbook.createSheet(tmptitle, 0);
// 設置excel中字體的樣式
WritableFont wfont = new WritableFont(WritableFont.ARIAL, 16,
WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,
Colour.BLACK);
// 單元格對象
WritableCellFormat wcfFC = new WritableCellFormat(wfont);
// wcfFC.setBackground(Colour.AQUA);
// 設置排列方式
wcfFC.setAlignment(Alignment.CENTRE);
// 設置單元的lable
wsheet.addCell(new Label(1, 0, tmptitle, wcfFC));
// 設置字體樣式
wfont = new jxl.write.WritableFont(WritableFont.ARIAL, 14,
WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,
Colour.BLACK);
// 單元格設置樣式
wcfFC = new WritableCellFormat(wfont);
wsheet.addCell(new Label(0, 2, "序號"));
wsheet.addCell(new Label(1, 2, "電影名稱"));
wsheet.addCell(new Label(2, 2, "類型"));
wsheet.addCell(new Label(3, 2, "編號"));
wsheet.addCell(new Label(4, 2, "音樂名稱"));
wsheet.addCell(new Label(5, 2, "權利開始時間"));
wsheet.addCell(new Label(6, 2, "權利結束時間"));
wsheet.addCell(new Label(7, 2, "權利屬性"));
for (int i = 0; i < datas.size(); i++) {
CrLawusebasic entity = (CrLawusebasic) datas.get(i);
//序號
wsheet.addCell(new Label(0, i + 3, entity.getId() + ""));
//電影名稱
wsheet.addCell(new Label(1, i + 3, entity.getName() + ""));
//類型
wsheet.addCell(new Label(2, i + 3, entity.getCptype()+ ""));
//編號
wsheet.addCell(new Label(3, i + 3, entity.getContactnum() + ""));
//音樂名稱
wsheet.addCell(new Label(4, i + 3, entity.getThething()+ ""));
//權利開始日期
wsheet.addCell(new Label(5, i + 3, entity.getCpstartdate() + ""));
//權利結束日期
wsheet.addCell(new Label(6, i + 3, entity.getCpenddate() + ""));
//權利屬性
wsheet.addCell(new Label(7, i + 3, entity.getCpdesc() + ""));
}
wbook.write(); // 寫入文件
wbook.close();
os.close(); // 關閉流
} catch (Exception e) {
e.printStackTrace();
}
fileName = "law";
excelStream = new ByteArrayInputStream(os.toByteArray());
return SUCCESS;
String path = ServletActionContext.getServletContext().getRealPath(
"image");// 寫到指定路徑
System.out.println(path);
File file = new File(path);
// 判斷指定的路徑下是否有urlNameFileName,如果沒有,自動創建
if (!file.exists()) {
file.mkdirs();
}
try {
FileUtils.copyFile(urlName, new File(file, urlNameFileName));
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("上傳文件的名稱:" + urlName + "上傳的路徑:" + path + "上傳的類型:"
+ urlNameContentType);
System.out.println(urlNameFileName);
String name = urlNameFileName;
System.out.println(name);
int isa = name.lastIndexOf(".");
System.out.println(isa);
String sub = name.substring(isa + 1);
System.out.println(sub);
if (!"xls".equals(sub)) {
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
try {
PrintWriter out = response.getWriter();
out
.println("<script type='text/javascript' language='javascript'>");
out.println("alert('對不起,您選擇的文檔不符合上傳格式,請重新選擇')");
out.println("history.go(-1)");
out.println("</script>");
} catch (IOException e) {
e.printStackTrace();
}
return null;
}else
{
InputStream is = new FileInputStream(path + "/" + name);
jxl.Workbook rwb = Workbook.getWorkbook(is);
Sheet sheet = rwb.getSheet(0);
int rowss = sheet.getRows();
int cols = sheet.getColumns();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat df1 = new SimpleDateFormat("hh:mm");
for (int i = 2; i < rowss; i++) {
Cell mediaName=sheet.getCell(0, i);
Detectingtable de=new Detectingtable();
String n=mediaName.getContents();
de.setMovieName(n);
System.out.println(de.getMovieName());
if (null!=n && !"".equals(n)) {
List<CrLawusebasic> listbasic=this.crlawusebasicBizImpl.loadLawusebasicByName("name",n);
if (null!=listbasic && listbasic.size()>0) {
for (CrLawusebasic crLawusebasic : listbasic) {
haveList.add(crLawusebasic);
}
}else
{
deteList.add(de);
}
}
}
super.getSession().setAttribute("havelist", haveList);
for (int i = 0; i < haveList.size(); i++) {
String n=df.format(haveList.get(i).getCpstartdate());
String m=df.format(haveList.get(i).getCpenddate());
haveList.get(i).setCpStartdate(n);
haveList.get(i).setCpEnddate(m);
}
super.getSession().setAttribute("deteList", deteList);
System.out.println(deteList.size());
System.out.println(deteList.get(0).getMovieName());
}
/*if(null!=haveList){
haveList.clear();
}*/
super.setMessage("true");
return SUCCESS;
/* HttpServletResponse response = ServletActionContext.getResponse();
String msg = "{success:true}";
response.getWriter().print(msg);
return NONE; */
}
導出代碼:
List datas = null;
datas = haveList;
// 導出execl操作
// 創建流對象
ByteArrayOutputStream os = new ByteArrayOutputStream();
// 創建excel對象
WritableWorkbook wbook;
try {
wbook = Workbook.createWorkbook(os);
// 標題
String tmptitle = "電影信息";
// sheet名稱
WritableSheet wsheet = wbook.createSheet(tmptitle, 0);
// 設置excel中字體的樣式
WritableFont wfont = new WritableFont(WritableFont.ARIAL, 16,
WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,
Colour.BLACK);
// 單元格對象
WritableCellFormat wcfFC = new WritableCellFormat(wfont);
// wcfFC.setBackground(Colour.AQUA);
// 設置排列方式
wcfFC.setAlignment(Alignment.CENTRE);
// 設置單元的lable
wsheet.addCell(new Label(1, 0, tmptitle, wcfFC));
// 設置字體樣式
wfont = new jxl.write.WritableFont(WritableFont.ARIAL, 14,
WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,
Colour.BLACK);
// 單元格設置樣式
wcfFC = new WritableCellFormat(wfont);
wsheet.addCell(new Label(0, 2, "序號"));
wsheet.addCell(new Label(1, 2, "電影名稱"));
wsheet.addCell(new Label(2, 2, "類型"));
wsheet.addCell(new Label(3, 2, "編號"));
wsheet.addCell(new Label(4, 2, "音樂名稱"));
wsheet.addCell(new Label(5, 2, "權利開始時間"));
wsheet.addCell(new Label(6, 2, "權利結束時間"));
wsheet.addCell(new Label(7, 2, "權利屬性"));
for (int i = 0; i < datas.size(); i++) {
CrLawusebasic entity = (CrLawusebasic) datas.get(i);
//序號
wsheet.addCell(new Label(0, i + 3, entity.getId() + ""));
//電影名稱
wsheet.addCell(new Label(1, i + 3, entity.getName() + ""));
//類型
wsheet.addCell(new Label(2, i + 3, entity.getCptype()+ ""));
//編號
wsheet.addCell(new Label(3, i + 3, entity.getContactnum() + ""));
//音樂名稱
wsheet.addCell(new Label(4, i + 3, entity.getThething()+ ""));
//權利開始日期
wsheet.addCell(new Label(5, i + 3, entity.getCpstartdate() + ""));
//權利結束日期
wsheet.addCell(new Label(6, i + 3, entity.getCpenddate() + ""));
//權利屬性
wsheet.addCell(new Label(7, i + 3, entity.getCpdesc() + ""));
}
wbook.write(); // 寫入文件
wbook.close();
os.close(); // 關閉流
} catch (Exception e) {
e.printStackTrace();
}
fileName = "law";
excelStream = new ByteArrayInputStream(os.toByteArray());
return SUCCESS;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.