`
雪馨25
  • 浏览: 128457 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

【javaWeb】Struts 2导出excel文件

阅读更多

一、功能:将界面table数据,导出为excel文件保存

二、具体实现:

2.1 jsp

序号书名作者价格
1 科幻世界 匿名 10
2 语文 驾教育出版社 23.5
3 落花 张三 10.5

注:button: <input type="button" value="导出excel" onclick="exportExcel()">

确定 引入调用的正确 js文件

2.2 js

function exportExcel(){
    alert("导出"); 
    var archiveaccount = document.forms['arcAccount'];
    archiveaccount.submit();
}

2.3 action

 

public String exportExcel() throws Exception {
        List<List<Object>> data = getExportData();    //将表格数据转换为list,此方法省略
        String fn = new String(("ArchiveAccount"+new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(new Date())).getBytes(), "ISO-8859-1")+ ".xls";    //设置导出文件名
        if(createExcel(fn, data, "统计结果")){
            return "success";
        }
           return "init";
    }

 

 

   /**
     * 创建新的Excel 工作簿
     * */
    public boolean createExcel(String filename, List<List<Object>> data,String sheetName) {
        HSSFWorkbook workbook = null;
        HSSFSheet sheet = null;
        HSSFRow[] rows = null;
        HSSFCell[][] cells = null;
        workbook = new HSSFWorkbook();
        if (sheetName.trim().equals("")) {
            sheet = workbook.createSheet("表");
        } else {
            sheet = workbook.createSheet(sheetName);
        }
        try {
            int row = 0;
            int col = 0;
            if (data.size() > 0) {
                row = data.size();
                col = data.get(0).size();
            }
            rows = new HSSFRow[row];
            cells = new HSSFCell[row][col];
            for (int i = 0; i < data.size(); i++) {
                rows[i] = sheet.createRow((short) i);
                for (int j = 0; j < data.get(i).size(); j++) {
                    cells[i][j] = rows[i].createCell((short) j);
                    cells[i][j].setCellType(HSSFCell.CELL_TYPE_STRING);
                    if (data.get(i).get(j) != null
                            && !data.get(i).get(j).toString().trim().equals("")) {
                        cells[i][j].setCellValue(data.get(i).get(j).toString()
                                .trim());
                    } else {
                        cells[i][j].setCellValue("");
                    }
                }
            }
          ByteArrayOutputStream baos = new ByteArrayOutputStream();
            HttpUitls.getResponse().setHeader("Content-disposition","attachment; filename=" +filename);
            workbook.write(baos);
            byte[] ba = baos.toByteArray();  
            excelStream = new ByteArrayInputStream(ba);  
            return true;
        } catch (Exception e) {
            return false;
        }
    }

 

2.4 struts.xml

 

 <action name="*ArchiveAccount" class="com.personalize.action.archiveaccount.ArchiveAccountAction" method="{1}">
            <result name="init">jspNew/archiveaccount/ArchiveAccount.jsp</result>
             <result name="success" type="stream">
                    <param name="contentType">application/vnd.ms-excel</param>     <!-- 注意这里的ContentType -->
                    <param name="contentDisposition">attachment;filename="${fileName}"</param> <!--  导出文件名 -->
                    <param name="inputName">excelStream</param> <!-- 这里需要和Action里的变量名一致 -->
                    <param name="bufferSize">4096</param>
             </result>
        </action>

三、执行效果

点击导出弹出文件下载对话框,点击保存,弹出选择路径对话框,选择路径点击保存即可

分享到:
评论

相关推荐

    javaweb JSP页面导出和导入excel表格

    一、导出Excel 1. **使用Apache POI库**:Apache POI是一个流行的API,用于读取和写入Microsoft Office格式的文件,包括Excel。首先,你需要在项目中引入Apache POI的依赖库。 2. **创建Excel工作簿**:使用`...

    JavaWeb - Excel_Word(2003_2007、上传下载、解析生成、导入导出)源码

    若使用Spring MVC或Struts2等框架,可以简化文件操作。它们提供便捷的文件上传下载API,与后端业务逻辑集成,简化开发流程。 8. **性能优化**: 对于大量数据的导入导出,可能需要分批处理以减少内存消耗。同时,...

    Java web 数据库数据与excel表格形式导入导出.docx

    2. JXL 技术:JXL 技术是 Java Excel API 的缩写,是一种用于读取和写入 Excel 文件的 Java 库。JXL 技术可以用于读取和写入 Excel 文件中的数据。 3. POI 技术:POI 技术是 Apache POI 的缩写,是一种用于操作 ...

    将jsp页面中的table中的数据导出到excel文件中,并可以存储在本地

    这是一个简单的javaweb项目例子,使用的是struts2技术,在后台的action中写好一个list,然后给这个list填充好内容,之后在jsp前台显示,并可以通过导出到excel文件,存储在本地指定的位置。

    一个的完整的基于SSH的javaweb程序

    用户可以通过网页上传Excel文件,程序解析文件内容并存储到数据库,也可以将数据库中的数据导出成Excel文件供用户下载。 5. **文件上传下载**:文件上传功能可能使用了Commons-FileUpload库,它允许用户通过...

    大学 毕业设计 项目实训 JAVA开发采用Struts2+Spring+Hibernate框架的三层MVC图书管理系统 源代码.zip

    生成Excel xls文件的功能,说明项目还包含了文件处理和导出功能。这通常通过Apache POI库来实现,POI是一个用于读写Microsoft Office格式档案的Java API,可以方便地生成和编辑Excel文件。 至于日志管理,项目使用...

    javaweb常用jar包

    14. **struts2*.jar**:Struts 2是一个基于MVC设计模式的Web应用框架,用于简化开发过程。 15. **jasperreports.jar**:用于生成复杂的报表,支持多种输出格式,如PDF、HTML、Excel等。 这些JAR文件构成了Java Web...

    ssh搭建 java案列

    在导出Excel文件的场景中,Hibernate可以用来查询数据,然后利用Apache POI库将数据转换成Excel格式,供用户下载。 关于Ajax的二级联动,这是一种常见的前端交互技术。在SSH框架中,使用Ajax可以实现页面的异步更新...

    双鱼林struts+spring+hibernate图书管理系统.rar

    程序测试环境: MyEclipse8.5编程软件 + Win7...查询结果可以导出到excel文 这里是通过xml进行验证的,大家可以输入错误的信息 程序可以检测到 比如输入错误的价格和数量! 系统功能虽然不多 但却把SSH框架都用到了!

    程序员面试个人简历(JAVA).pdf,这是一份不错的文件

    他还利用Jbpm实现流程控制,使用Struts进行数据验证,通过POI将数据导出到Excel并支持在线下载打印,同时实现了用户个性化配置和数据挖掘功能。 从这份简历可以看出,这名JavaEE软件工程师具备全面的技术能力和实际...

    Java个人简历模板26.doc

    - 在裕隆佳田商贸综合管理系统项目中,负责前期分析、数据库设计、货运管理模块的开发,运用了Jbpm工作流、Struts2校验、信息复制、文件下载和Excel导出等功能。 - 在另一个未具体描述的项目中,同样涉及了Spring...

    Java个人简历模板37.doc

    - 使用Jbpm实现流程控制,Struts2进行数据校验和文件下载,利用poi导出Excel,amFlash实现报表统计。 5. **个人特点**: - 具备良好的团队合作精神,善于处理常见业务,学习能力强,对新技术有好奇心。 - 工作...

    ssh人事资源管理系统源码.rar

    已经达到了可以商用的地步,基本全部实现了整个人力资源管理的所有功能,包括员工档案信息、部门信息、职位变动、工资信息、福利计算、培训信息管理等等,还可以把统计信息导出成pdf、excel等格式的文件,可选择导出...

    Java开发工程师简历模版

    开发者负责用户注册和登录模块,通过泛型技术优化DAO层,利用POI导出Excel数据。 - **汇友办公自动化系统**:项目涵盖了多种企业办公功能,采用Spring+Struts2+Hibernate框架,结合SpringSecurity进行权限管理,...

    Java个人简历模板35.doc

    - **裕隆佳田商贸综合管理系统**:使用Spring+Hibernate+Struts2+Oracle10g+Jbpm+easyui+poi+amFlash技术栈开发,涉及工作流管理、数据校验、文件下载、Excel导出等功能。在项目中担任关键角色,负责业务模块划分、...

    displaytag例子代码

    4. `&lt;display:export&gt;`:支持导出表格数据到CSV、Excel或PDF等格式,方便用户下载和分析。 5. `&lt;display:headers&gt;`:显示表头,可以进行分组和排序。 6. `&lt;display:footer&gt;`:生成表格的页脚,常用于显示总计或统计...

    java web 项目开发案例

    开发中可能用到Spring Data JPA简化数据库操作,使用Apache POI处理Excel文件导出,前端可结合React或Angular提供现代交互体验。 7. **网络商城系统**:网络商城涵盖商品展示、购物车、订单处理、支付接口等复杂...

    java_weboffice

    8. **文档预览与打印**: 除了编辑,Java WebOffice 还支持文档预览功能,用户可以查看文档的最终效果,同时也可以直接在浏览器中进行打印操作,无需导出文件。 9. **协同编辑**: 虽然描述中没有明确提及,但通常...

Global site tag (gtag.js) - Google Analytics