public InputStream getDownloadFile()
{
return ServletActionContext.getServletContext().getResourceAsStream("/excel/jkmalfuncexperienceDownLoadMold.xls");
}
@SuppressWarnings("unchecked")
public String download(){
ServletContext aplication = ServletActionContext.getServletContext();
String path = aplication.getRealPath("/excel");
WritableWorkbook book = null;
try {
List<AlarmRmsJkmalfuncexperience> exportlist = null;
if(ids!=null&&ids.size()>0)
{
exportlist = alarmRmsJkmalfuncexperienceManager.getList(ids);
}else
{
exportlist = alarmRmsJkmalfuncexperienceManager.getList(alarmRmsJkmalfuncexperience);
}
book = Workbook.createWorkbook(new File(path,"jkmalfuncexperienceDownLoadMold.xls"));
WritableSheet sheet = book.createSheet("故障经验库", 0); //添加excel的标题列
Label titleExpid = new Label(0, 0, "经验编号");
sheet.addCell(titleExpid);
Label titleExptitle = new Label(1, 0, "经验主题");
sheet.addCell(titleExptitle);
Label titleMalfuncarea = new Label(2, 0, "故障发生地区");
sheet.addCell(titleMalfuncarea);
Label titleSpecialtype = new Label(3, 0, "专业类别");
sheet.addCell(titleSpecialtype);
Label titleDevicetype = new Label(4, 0, "故障设备");
sheet.addCell(titleDevicetype);
Label titleDevicecompany = new Label(5, 0, "故障设备厂商");
sheet.addCell(titleDevicecompany);
Label titleVersion = new Label(6, 0, "软硬件编号");
sheet.addCell(titleVersion);
Label titleExplevel = new Label(7, 0, "经验等级");
sheet.addCell(titleExplevel);
Label titleExpkeyword = new Label(8, 0, "经验关键字");
sheet.addCell(titleExpkeyword);
Label titleMalfuncdescription = new Label(9, 0, "故障描述");
sheet.addCell(titleMalfuncdescription);
Label titleExperiencesummary = new Label(10, 0, "经验总结");
sheet.addCell(titleExperiencesummary);
for(int i=0;i<exportlist.size();i++) //添加excel数据
{
AlarmRmsJkmalfuncexperience arj = exportlist.get(i);
int a=i+1;//意思是从第二行开始添加数据
Label lableExpid = new Label(0, a, arj.getExpid());
sheet.addCell(lableExpid);
Label lable1Exptitle = new Label(1, a, arj.getExptitle());
sheet.addCell(lable1Exptitle);
Label lableMalfuncarea = new Label(2, a, arj.getMalfuncarea());
sheet.addCell(lableMalfuncarea);
Label lableSpecialtype = new Label(3, a, arj.getSpecialtype());
sheet.addCell(lableSpecialtype);
Label lableDevicetype = new Label(4, a, arj.getDevicetype());
sheet.addCell(lableDevicetype);
Label lableDevicecompany = new Label(5, a, arj.getDevicecompany());
sheet.addCell(lableDevicecompany);
Label lableVersion = new Label(6, a, arj.getVersion());
sheet.addCell(lableVersion);
Label lableExplevel = new Label(7, a, arj.getExplevel());
sheet.addCell(lableExplevel);
Label lableExpkeyword = new Label(8, a, arj.getExpkeyword());
sheet.addCell(lableExpkeyword);
Label lableMalfuncdescription = new Label(9, a, arj.getMalfuncarea());
sheet.addCell(lableMalfuncdescription);
Label lableExperiencesummary = new Label(10, a, arj.getExperiencesummary());
sheet.addCell(lableExperiencesummary);
}
} catch (RowsExceededException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch(Exception e)
{
}finally{
try {
book.write();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
book.close();
} catch (WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return SUCCESS;
}
<action name="download" class="alarmRmsJkmalfuncexperienceAction" method="download">
<result name ="success" type="stream">
<param name="contentType">application/vnd.ms-excel</param>
<param name="contentDisposition">filename="malfuncexperience_.xls"</param>
<param name="inputName">downloadFile</param>
</result>
</action>
分享到:
相关推荐
extjs3.2+struts2实现多文件上传excel并插入到数据库
运用struts2将数据库中的数据导入和导出,同时会用到poi的jar包
Struts实时生成Excel文件下载
poi struts2 Excel导入数据库 用jdbc连的sql server2000 非常简单 一看就能明白怎么个回事 就一张表 3个字段 适合第一次用poi的朋友
Struts2文件流方式导出下载excel、Txt、image图片,直接返回给浏览器提示下载,不生成临时文件,直接保存在客户端
项目:Struts2UpAndDownLoadFile 1.实现文件的上传和下载 项目:Struts2HandleExcelFile 1.实现文件的上传和下载 2.利用apache的poi-3.5-FINAL-20090928.jar组件实现创建Excel表格。
struts2实现excel导出struts2实现excel导出struts2实现excel导出struts2实现excel导出
同样重要的是,《Struts2技术内幕:深入解析Struts2架构设计与实现原理》还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的...
struts2导出excel java 导出excel: JXL_excel: 可以直接在elipse下运行的例子 可以直接导出excel文件(包含所需的jar包) CSharpJExcel: 是JXL的官方下载的 包括详细的文档 和jar包
struts2内存中生成excel并下实例
Struts2的配置文件DTD解析 详细讲解配置文件的各个标签元素的使用
回答csdn论坛:Java语言下excel导入到mysql数据库表...
在struts2基础上实现的包括单文件、多文件的上传及下载
网上的Struts2进行的文件下载一般都是单文件或者固定的文件,并没有(很少)实现随意文件的下载的例子 提供多文件上传,上传成功后,提供刚上传的文件下载功能(其他的都可以在其上面进行扩充) 多文件 上传 下载...
http://blog.csdn.net/johnjobs/article/details/8076832博文中附件的下载链接
struts1 poi Excel批量导入支持xls和xlsx-源码java 有需要的能帮助到
同样重要的是,《Struts2技术内幕:深入解析Struts2架构设计与实现原理》还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的...
测试通过。通过上传excel同时把里面数据写入数据库。struts框架。如果有问题给我留言。
批量导入数据采用的是导入test文件夹下的测试压缩包upload.rar上传到服务器的临时目录,然后利用WinRar.exe对其进行解压,解压后对指定文件名的Excel文件进行解析,然后对每条记录所配置的文件路径进行比对然后重命名...
Struts2远程命令执行漏洞解析 漏洞解析 远程命令 Struts2