WEB 报表导出操作

     //查询所有学生信息
        List<Student> list = stuService.selectAll();
        //创建输出流
        OutputStream fileOut = null;
        try {
            // 导出
            // 重置输出流
            response.reset();
            // 设置导出Excel报表的导出形式
            response.setContentType("application/vnd.ms-excel");
            // 自定义响应文件名
            String fileName = new String("学生信息表".getBytes("utf-8"),
                    "ISO-8859-1");
            response.setHeader("Content-disposition", "attachment;filename="
                    + fileName + ".xls");
            fileOut = response.getOutputStream();
            // 创建工作空间
            Workbook wb = new HSSFWorkbook();
            // 创建sheet
            Sheet sheet = wb.createSheet("sheet1");
            // 设置列宽
            sheet.setColumnWidth(0, 2300);
            sheet.setColumnWidth(1, 2300);
            sheet.setColumnWidth(2, 2300);
            sheet.setColumnWidth(3, 3400);

            CreationHelper creationHelper = wb.getCreationHelper();
            // 创建行 从 0 开始为第一行
            Row row = sheet.createRow((short) 0);
            row.setHeight((short) 450);// 目的是想把行高设置成25px
            // 创建列 从0 开始为第一列
            // 第一行的数据
            row.createCell(0).setCellValue(
                    creationHelper.createRichTextString("学生编号")
            );

            row.createCell(1).setCellValue(
                    creationHelper.createRichTextString("学生姓名"));
            // 设置String
            row.createCell(2).setCellValue(
                    creationHelper.createRichTextString("就业单位"));
            row.createCell(3).setCellValue(
                    creationHelper.createRichTextString("学生图片"));
            row.createCell(4).setCellValue(
                    creationHelper.createRichTextString("学生薪资"));
            row.createCell(5).setCellValue(
                    creationHelper.createRichTextString("入职时间"));
            row.createCell(6).setCellValue(
                    creationHelper.createRichTextString("培训时间"));
            row.createCell(7).setCellValue(
                    creationHelper.createRichTextString("是否是明星学员"));
            row.createCell(8).setCellValue(
                    creationHelper.createRichTextString("学校"));
            row.createCell(9).setCellValue(
                    creationHelper.createRichTextString("学历"));
            row.createCell(10).setCellValue(
                    creationHelper.createRichTextString("工作地址"));
            row.createCell(11).setCellValue(
                    creationHelper.createRichTextString("学生感言"));
            row.createCell(12).setCellValue(
                    creationHelper.createRichTextString("状态"));
            row.createCell(13).setCellValue(
                    creationHelper.createRichTextString("备注"));
            row.createCell(14).setCellValue(
                    creationHelper.createRichTextString("作者"));

            int i=1;
            for (Student stu : list) {

                Row row1 = sheet.createRow((short) i);
                row1.setHeight((short) 450);// 目的是想把行高设置成25px

                String uid=String.valueOf(stu.getStuId());
                // 第二行的数据
                row1.createCell(0).setCellValue(
                        creationHelper.createRichTextString(uid));
                row1.createCell(1).setCellValue(
                        creationHelper.createRichTextString(stu.getStuName()));
                // 设置String
                row1.createCell(2).setCellValue(
                        creationHelper.createRichTextString(stu.getStuCompany()));
                row1.createCell(3).setCellValue(
                        creationHelper.createRichTextString(stu.getStuPicture()));
                row1.createCell(4).setCellValue(
                        creationHelper.createRichTextString(String.valueOf(stu.getStuSalary())));
                row1.createCell(5).setCellValue(
                        creationHelper.createRichTextString(String.valueOf(new SimpleDateFormat("yyyy-MM-dd").format(stu.getStuEntrytime()))));
                row1.createCell(6).setCellValue(
                        creationHelper.createRichTextString(String.valueOf(new SimpleDateFormat("yyyy-MM-dd").format(stu.getStuTrainingtime()))));
                String isStart="否";
                if(stu.getStuIsstar()!=null){
                    if(stu.getStuIsstar()==1){
                        isStart="是";
                    }
                }
                row1.createCell(7).setCellValue(
                        creationHelper.createRichTextString(isStart));
                row1.createCell(8).setCellValue(
                        creationHelper.createRichTextString(String.valueOf(stu.getStuSchool())));
                row1.createCell(9).setCellValue(
                        creationHelper.createRichTextString(stu.getStuEducation()));
                row1.createCell(10).setCellValue(
                        creationHelper.createRichTextString(stu.getStuWorkaddress()));
                row1.createCell(11).setCellValue(
                        creationHelper.createRichTextString(stu.getStuRecollections()));
                //1表示缉编中       2 待审核   3  待发布   4 取消发布    5 过期
                String style="";
                //判断状态
                switch (stu.getStuState()) {
                case 1:style="缉编中";break;
                case 2:style="待审核";break;
                case 3:style="待发布";break;
                case 4:style="取消发布";break;
                case 5:style="过期 ";break;
                }
                row1.createCell(12).setCellValue(
                        creationHelper.createRichTextString(style));
                row1.createCell(13).setCellValue(
                        creationHelper.createRichTextString(stu.getStuNote()));
                row1.createCell(14).setCellValue(
                        creationHelper.createRichTextString(stu.getStuWriter()));

                i++;
            }

            wb.write(fileOut);
            fileOut.close();

        } catch (Exception e) {
            e.printStackTrace();
        } 
时间: 2024-10-11 17:38:26

WEB 报表导出操作的相关文章

利用JasperReport+iReport进行Web报表开发

用JasperReport+iReport进行Web报表开发 序言 在非常多实际的项目里,报表都是当中十分重要的组成部分,比如把查询结果以报表的形式呈现出来.这里所提到的报表可不是简单的二维表,而是拥有复杂表头的.多维的.能够在执行期从数据库中自己主动读取数据.可自己主动分页.拥有丰富的页面元素(图片,超连接等).支持分组和交叉表.支持打印.最好还能导出到Excel或Word…...(汗L).可是显而易见,报表功能越强大,提供的服务越丰富,其复杂度也就越提高,所以仅靠石器时代的手工方式生成报表是

设计与开发一款简单易用的Web报表工具(支持常用关系数据及hadoop、hbase等)

EasyReport是一个简单易用的Web报表工具(支持Hadoop,HBase及各种关系型数据库),它的主要功能是把SQL语句查询出的行列结构转换成HTML表格(Table),并支持表格的跨行(RowSpan)与跨列(ColSpan).同时它还支持报表Excel导出.图表显示及固定表头与左边列的功能.总体架构如下图所示: 目录 开发环境(Development Environment) 安装与部署(Installation & Deployment) 从源代码安装(From Source Co

DevExpress XtraReports 入门四 创建 Web 报表

原文:DevExpress XtraReports 入门四 创建 Web 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这样浪费时间才写的这篇文章,高手不想的看请路过 本文内容来DevExpress XtraReports帮助文档,如看过类似的请略过. 废话少说 开始正事 一.创建 Web 报表并绑定数据  启动 MS Visual Studio (2005.2008.或 2010). 新建一个 ASP.NET Web

使用JasperReport+iReport进行Web报表开发

前言 在实际工程中非常,报告是其中很重要的一部分,结果以报表的形式呈现出来.这里所提到的报表可不是简单的二维表,而是拥有复杂表头的.多维的.能够在执行期从数据库中自己主动读取数据.可自己主动分页.拥有丰富的页面元素(图片.超连接等).支持分组和交叉表.支持打印.最好还能导出到Excel或Word…...(汗L). 可是显而易见,报表功能越强大,提供的服务越丰富,其复杂度也就越提高,所以仅靠石器时代的手工方式生成报表是不能满足须要的. 所幸,眼下我们所熟知的几款报表工具功能上足够强大,并且都附有非

Silverlight程序之:简单的Excel报表导出方法

Silverlight程序之:简单的Excel报表导出方法 概述 介绍一种简单的Excel报表导出方法. 页面效果 导出效果: 首先我们创建一个Excel表格,将我们的基本信息格式都设置好,如下图所示: 将创建好的Excel表格另存为网页. 打开VS将创建好的报表模版网页文件拖到Web项目新建的Report文件夹 修改其后缀名为aspx 打开文件 添加头部代码 <%@ Page Language="C#" ContentType="application/vnd.ms-

SAP关于标准ALV报表导出Excel的问题与解决:长数字

SAP关于标准ALV报表导出Excel的问题与解决:长数字 描述:在使用标准ALV功能时,使用本地文件可以把内容导到EXCEL中 问题:如果在报表中有类似银行账户.身份证号等较长数字的字段,直接导出EXCEL,在EXCEL中这些字段将会使用科学计数法的格式显示导致这列数据不正确. 解决方法一:导出时选择未转换的格式,然后再整理(分列) 解决方法二:使用ALV工具栏中按钮Excel适当位置 解决方法三:导出—电子表格—所有可用格式(选择“在现有XXL格式中”) ALV 导出电子表格的文件格式固定了

关于Web报表FineReport打印的开发应用案例

报表打印是报表使用和开发过程中经常碰到的问题,这里汇总了关于Web报表开发打印功能的一些典型应用案例,以应用最广泛的FineReport为例. 案例一:java直接调用报表打印 当java后台定义定时打印的功能,同时又需要直接调用报表的打印的时候,由于打印机型号和纸张不同,需要指定打印机,从而打印是否成功并设置返回值.那么怎么样可以实现这一过程呢? 实现过程 1.定义报表运行环境 // 定义报表运行环境,才能执行报表            String envPath = "D:\\FineRe

Asp.Net+Grid Report完成Web报表

在做VB版机房收费系统时,周结账单中的水晶报表想必大家都印象深刻.操作流程为:在窗体加载时,在窗体中显示数据表中的全部数据:选中查询条件,点击查询按钮,将对显示的数据进行筛选:如果用户想打印报表,直接点击控件上的打印按钮即可进行打印. 可这些操作是在C/S的结构中完成的,最近廊坊人事局的客户要求我们开发小组完成B/S的报表打印,经过一天的苦苦思索,我终于完成了一个成功的Demo.在此把成果和大家分享下,希望能帮助大家进步. 解决方案目录如下: 操作步骤如下: 1.导入Grid Report官方提

在网页中编辑报表的报表设计器Stimulsoft Reports Designer.Web报表控件

Stimulsoft Reports Designer.Web报表控件是一款网页报表设计器.您想在网页中编辑您的报表吗?现在是可能的! Stimulsoft Reports Designer.Web -是第一款使您可以完全在网页中编辑报表的报表设计器.在您的客户端机器里不需要安装.Net框架.ActiveX控件或其他特殊的插件.您只需要一个Web浏览器. Stimulsoft Reports Designer.Web是新式和便捷的接口并且功能丰富以及工作快速. 操作简单将报表编辑的支持添加到您的