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;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.