`

利用jxl将数据导出到excel时弹出保存对话框的例子

    博客分类:
  • java
阅读更多
public String outPutExcel(ModelMap model, HttpServletRequest request,
                              HttpServletResponse response) {

        //获取时间区域
        String timeArea = request.getParameter("timeArea");
        String keyword = request.getParameter("keyword");
        String select = request.getParameter("select");
        //获取操作类型
        String operate = request.getParameter("operate");

        //        File file = new File("daily.xls");
        try {
            OutputStream os = response.getOutputStream();// 取得输出流   
            response.reset();// 清空输出流   
            response.setHeader("Content-disposition", "attachment; filename="
                                                      + new String("daily".getBytes("GB2312"),
                                                          "iso8859_1") + ".xls");// 设定输出文件头   
            response.setContentType("application/msexcel");// 定义输出类型 

            WritableWorkbook workbook = Workbook.createWorkbook(os);
            if (workbook != null) {

                WritableSheet sheet = workbook.createSheet("sheet1", 0);

                // 设置标题 sheet.addCell(new jxl.write.Label(列(从0开始), 行(从0开始), 内容.)); 
                try {
                    sheet.addCell(new Label(0, 0, "区域名"));
                    sheet.addCell(new Label(1, 0, "所在位置"));
                    sheet.addCell(new Label(2, 0, "操作人员"));
                    sheet.addCell(new Label(3, 0, "时间"));
                    sheet.addCell(new Label(4, 0, "操作类型"));
                    sheet.addCell(new Label(5, 0, "备注"));

                    // 设置单元格的宽度 
                    sheet.setColumnView(0, 20);
                    sheet.setColumnView(1, 40);
                    sheet.setColumnView(2, 15);
                    sheet.setColumnView(3, 30);
                    sheet.setColumnView(4, 15);
                    sheet.setColumnView(5, 20);

                    //添加数据
                    List<SysActionLog> list = this.getSysActionLogs(timeArea, keyword, select,
                        operate);

                    SysActionLog log = null;
                    for (int r = 0; r < list.size(); r++) { //行编号
                        log = list.get(r);
                        //区域名
                        sheet.addCell(new Label(0, r + 1, log.getFilealia()));
                        //所在位置
                        sheet.addCell(new Label(1, r + 1, log.getFilename()));
                        //操作人员
                        sheet.addCell(new Label(2, r + 1, log.getAuthor()));
                        //时间
                        sheet.addCell(new Label(3, r + 1, log.getFormatDate()));
                        //操作类型
                        sheet.addCell(new Label(4, r + 1, log.getSysAction().getMessage()));
                        //备注
                        sheet.addCell(new Label(5, r + 1, log.getComment()));
                    }

                    //从内存中写入文件中   
                    workbook.write();
                    //关闭资源,释放内存    
                    workbook.close();

                    /*response.reset();
                    FileInputStream f = new FileInputStream(file);
                    byte[] fb = new byte[f.available()];
                    f.read(fb);
                    response
                        .setHeader("Content-disposition", "attachment; filename="
                                                          + new String("daily.xls"
                                                              .getBytes("gb2312"), "iso8859-1"));
                    ByteArrayInputStream bais = new ByteArrayInputStream(fb);
                    int b;
                    while ((b = bais.read()) != -1) {
                        response.getOutputStream().write(b);
                    }
                    response.getOutputStream().flush();
                    
                    //删除服务器上的文件
                    file.deleteOnExit();*/

                } catch (RowsExceededException e) {
                    logger.error("sheet不存在", e);
                } catch (WriteException e) {
                    logger.error("创建列名出错", e);
                }
            }

        } catch (IOException e) {
            logger.error("文件创建出错", e);
        }
        return "daily.vm";
    }

 

分享到:
评论

相关推荐

    使用jxl将数据库的数据导出到Excel

    本篇文章将详细介绍如何利用JXL将数据库的数据导出到Excel。 首先,要使用JXL,你需要在项目中引入其依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;...

    java将数据导出到Excel表格(java源程序+jxl.jar包)

    以下是使用Java和jxl库将数据导出到Excel的基本步骤: 1. **导入库**:在你的Java源代码中,你需要导入jxl库的相关类。例如: ```java import jxl.*; import jxl.write.*; ``` 2. **创建Workbook对象**:...

    jxl导出excel 完整例子工程

    jxl导出excel 完整例子工程jxl导出excel 完整例子工程jxl导出excel 完整例子工程 jxl导出excel 完整例子工程jxl导出excel 完整例子工程jxl导出excel 完整例子工程

    JXL 将内容导入到Excel中

    在Java编程环境中,有时我们需要将数据导出到Excel文件中,以便进行数据分析、报表生成或者数据交换。JXL库提供了一个方便的API,使得开发者能够轻松地读取和写入Excel文件。本教程将深入讲解如何使用JXL库将内容...

    利用jxl实现数据库内容导出Excel

    在Java编程环境中,将数据库内容导出到Excel文件是一种常见的需求,这可以帮助用户更方便地查看、分析和处理大量数据。jxl库是Java中一个广泛使用的库,它提供了读写Excel文件的功能。本篇文章将深入探讨如何利用jxl...

    jxl从数据库导出到excel工具包

    **标题解析:**"jxl从数据库导出到excel工具包" 这个标题表明我们要讨论的是一个使用jxl库来帮助从数据库中导出数据并将其格式化为Excel文件的工具包。jxl是一个广泛使用的Java库,允许开发者读取、写入和修改Excel...

    jxl实现导出excel数据

    下面我们将深入探讨如何使用JXL库实现导出Excel数据。 首先,你需要在你的项目中引入JXL库。可以通过Maven或Gradle来添加依赖,如果是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;...

    使用jxl,将数据写入excel中

    本文介绍了如何使用jxl将二维数据数组写入Excel的工作表中,包括创建Workbook和Sheet对象,以及填充单元格和保存文件的基本步骤。在实际项目中,可以根据具体需求进一步扩展这些基本操作,实现更复杂的功能。

    JXL导出Excel数据表

    本篇将详细介绍如何使用JXL库来导出Excel数据表,并结合描述中的信息,探讨其核心特性和实现方式。 首先,我们来理解"JXL导出Excel数据表"这一主题。JXL(Java Excel API)是一个开源项目,它允许Java程序创建、...

    jxl导出excel加水印.zip

    本教程将详细介绍如何使用`jxl`库在导出Excel时添加水印,以及涉及的核心类`WritableWorkbook`、`WritableSheet`和`WritableCellFormat`。 `jxl`库提供了一套完整的API来操作Excel文件,包括创建新的工作簿、添加...

    通过JXL使用模板导出EXCEL

    在Java编程环境中,导出数据到Excel是一种常见的需求,特别是在数据分析、报表生成或者数据交换的场景下。JXL是一个流行的库,它允许开发者方便地读取、写入和操作Excel文件。本文将深入探讨如何利用JXL库通过模板来...

    使用jxl导出Excel表的好例子

    本篇文章将深入探讨如何利用`jxl`库来创建和导出Excel表格。 首先,我们需要在项目中引入`jxl`库。如果你的项目是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;...

    jxl实现excel导出完整的例子

    jxl实现excel导出完整的例子!虽然这个不是和数据库没有联系但是请放心我保证你看了我的这个例子后绝对会自己做出和数据库连接的例子!有事联系我们共同探讨 QQ:376707296

    jxl.jar----java导出数据到excel

    这个库不仅支持读取Excel文件,还能创建新的工作簿,修改现有数据,以及将Java对象的数据导出到Excel格式。 jxl库的核心功能包括: 1. **创建新工作簿**:你可以使用jxl库创建一个新的Excel工作簿,设置工作表的...

    jxl导出excel工具类

    总结起来,`jxl导出excel工具类`是一个强大的工具,它能够帮助开发者快速实现数据到Excel的导出功能,减少重复代码,提高开发效率。通过合理的封装和设计,可以使得这类工具类在不同的项目中重用,降低维护成本。...

    java将数据导出到Excel表格(java源文件+jxl.jar包)

    总结来说,利用Java和jxl.jar库,我们可以方便地将数据导出到Excel表格,进行各种数据处理和展示。这个过程涉及到的工作包括创建Workbook对象代表Excel文件,创建Sheet对象代表工作表,以及通过Label等类向单元格...

    JXL操作EXCEL 数据库导出EXCEL相关文件

    本篇文章将深入探讨JXL库在操作Excel和数据库导出Excel文件方面的应用。 首先,我们来了解JXL的基本用法。JXL支持读取和写入Biff8格式的Excel文件(即97-2003版本的.XLS文件),这涵盖了大部分常见的Excel文件需求...

    jxl数据导入导出jxl数据导入导出jxl数据导入导出jxl数据导入导出

    在这个场景中,我们主要关注的是如何使用JXL库来导出数据到Excel文件。以下是对给定代码的详细解释和相关知识点的扩展: 1. **JXL库介绍**: JXL是一个Java库,专门用于读取、写入和修改Microsoft Excel文件(.xls...

    jxl导入导出excel

    本文将深入探讨如何使用JXL进行Excel的导入与导出。 一、JXL库介绍 JXL是一个开源的Java库,它支持读取和写入多种Excel文件格式,包括老版本的.BIFF8格式和较新的.XLSX格式。这个库不仅提供了对单元格、工作表和...

    Android-Android使用jxl快速导出excel表

    在Android开发中,有时我们需要为用户提供将数据导出到Excel文件的功能,以便他们可以方便地在桌面环境中查看或进一步处理。在这种场景下,一个常用的库是jxl,它允许开发者在Java环境中创建、读取和修改Excel文件。...

Global site tag (gtag.js) - Google Analytics