`
weilaile
  • 浏览: 13102 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

使用jxl动态生成excel文件并提示下载

阅读更多

根据项目需求,需要在页面动态到处excel文件。导出excel主要有两类方法:
(1)使用POI,JXL的API自己写。
(2)使用列表组件,如displaytag,ecside等。
我试着用了jxl和displaytag。不难,挺好玩的。且记些资料、心得在这里。
(1)用jxl API
jxl的doc很完善,尤其是里面的demo,简单的应用参考demo的相关文件,就可照猫画虎。在struts+spring+hibernate的架构中,可以定义一个非持久化类,用来存放包含若干字段的查询结果。jxl导出一个excel文件的步骤很reasonable。先根据输出流建立一个WritableWorkbook对象wwb;excel文件中的每一个sheet,在wwb中都对应一个WritableSheet对象,然后,对于每一个WritableSheet对象,再逐个填写cell数据。其间,可以根据填写内容的类型选择填写方式,还可以灵活的设置字体等格式信息。
倘若需求只要求客户点击“导出”时,弹出对话框,提示文件并下载,且此文件是动态生成,不用在服务器端事先保存的话,用jxl的API可以很方便灵活的实现。在http://www.blogjava.net/netnova/archive/2007/09/20/146776.html中有很好的例子。对于中文字符的文件名乱码问题,只需使用java中的一般解决办法,new String(filename.getBytes(),"iso8859-1");作为新的文件名即可。文件内容一般不会出现中文乱码。
(2)用displaytag
列表组件在实现excel导出时,也是用了POI或者JXL。使用列表组件有一个前提:就是无论列表显示还是excel文件导出,都要使用这个组件。这个对于只需导出文件的需求当然不适用。但如果要同时实现两项功能,且系统中没有专门的分页处理逻辑的话,使用列表组件是个不错的选择。我花了不多的时间试了试displaytag。对于action的编写,与一般的列表显示没什么区别,action要做的只是把要显示的对象信息一并放在request的attribute里。主要工作是在jsp页面中使用displaytag标签,把对应的信息按照一定的排列显示出来。它可以方便的设置需要导出哪些数据,到处文件的类型等。对于中文乱码问题,这里的解决就不似jxl那么简单了。我使用最新版本的displaytag,尽管用了它说的filter,但导出的文件内容中的中文字符还是乱码。看了下文档,说一般支持ascii码的excel导出。应该也支持非ascii码的导出吧。估计是我还没看得足够深入。不过,displaytag中提供的几个默认样式不错,在显示列表时可以省掉一些工作。
分享到:
评论

相关推荐

    java使用jxl打印excel报表文件

    上述代码中,`doGet`方法创建了一个Servlet,当用户访问特定URL时,Servlet会生成一个Excel文件并作为HTTP响应的一部分返回,浏览器通常会提示用户下载。 值得注意的是,JXL库只支持Excel 97-2003格式(.xls),...

    jxl.zip_excel_jxl_jxl.biff.drawing.dg_jxl.biff.drawingdg

    总的来说,JXL库是Java开发者处理Excel文件的理想选择,无论你是需要读取Excel数据进行分析,还是构建数据导入导出系统,甚至是生成复杂的报表,JXL都能提供强大而全面的支持。通过熟练掌握JXL,你将能够更高效地与...

    Struts2+JXL 下载 Excel 文档

    在"Struts2+JXL 下载 Excel 文档"的场景中,开发者通常会创建一个Action,这个Action负责生成Excel文档并提供下载。用户通过浏览器访问特定URL,Struts2框架接收到请求后,会路由到相应的Action。Action内部会利用...

    JXL导出Excel数据表

    例如,用户请求一个导出接口后,服务器生成Excel文件,然后设置响应头并输出文件内容,用户就能在浏览器中看到下载提示。 下面是一个简单的示例,展示如何使用JXL库导出数据库数据到Excel: 1. 引入JXL库: 在...

    struts2 poi,jxl向excel表中插入记录源代码

    7. **部署与运行**: 下载项目后,你需要将所有依赖的库(如Struts2、POI或JXL的jar文件)添加到项目的类路径中,然后将项目部署到支持Servlet容器(如Tomcat)的服务器上,根据提示修改Excel文件路径,即可运行程序...

    导入/导出excel jxl.jar

    在Java编程环境中,处理Excel文件是一项常见的任务,特别是在数据处理和报表生成方面。"导入/导出Excel jxl.jar"是使用JExcelApi(通常简称为JXL)库的一个示例,这是一个开源Java库,允许开发者读取、写入和修改...

    jxl.jar 下载excel电子表格(3)

    标题 "jxl.jar 下载excel电子表格(3)" 暗示了这是一个关于使用Java处理Excel文件的讨论,特别是通过一个名为jxl的库。jxl是一个Java库,允许程序读取、写入和修改Microsoft Excel文件。在这个场景中,"下载excel...

    java绝对生成excel报表

    "java绝对生成excel报表"这个标题暗示了我们可以通过Java实现对Excel文件的创建和操作,确保能够生成精确的表格形式的数据报告。这里我们将深入探讨如何使用Java进行Excel报表的生成,以及涉及的一些关键知识点。 ...

    java jxl 下载(提示保存)

    本篇介绍了一种使用Java JXL库实现Excel文件下载的方法。通过创建Excel工作簿、添加工作表、设置单元格数据以及配置HTTP响应头等步骤,可以实现在Web应用程序中生成并下载Excel文件的功能。此外,还提到了一些关键的...

    jxljar20200505.7z

    3. **公式处理**:jxl库能够识别并处理Excel文件中的公式,计算结果并返回。 4. **表格操作**:可以进行行列的增删改查,以及合并单元格、设置边框等高级操作。 5. **兼容性**:jxl库支持多种Excel文件格式,包括...

    jxl.jar和例子

    这提示我们,这是一个关于使用Java处理Excel文件的资源包。jxl.jar是Java Excel API(JExcelApi)的一个版本,它是一个开源库,允许Java开发者读取、写入和修改Microsoft Excel文件。 描述中提到"本压缩文件包含了...

    简单的Jxl.jar 解析Excel

    【标题】"简单的Jxl.jar 解析Excel"指的是使用Java编程语言中的一种库——Jxl.jar,来处理和解析Excel文件。Jxl是一个开源的Java库,它允许开发者读取、写入和修改Excel文件,而无需依赖Microsoft Office。这个过程...

    jxl包docs帮助文件网页

    "jxl"包,全称为Java Excel API,为Java开发者提供了一种强大而高效的工具,使得在程序中读取、写入和操作Excel文件变得异常简单。本文将详细介绍jxl包及其核心功能,帮助开发者更好地理解和运用这一库。 首先,jxl...

    简易使用jxl

    标题“简易使用jxl”指的是使用Java Excel API(jxl)来简化Excel文件的读写操作。jxl是一个广泛使用的开源库,它允许Java开发者在程序中与Microsoft Excel格式的数据进行交互,包括创建、修改和读取Excel工作簿。 ...

    xls转换html内含jxl包

    2. **读取xls文件**: 使用jxl库,可以创建一个`Workbook`对象来表示Excel文件。例如: ```java Workbook workbook = Workbook.getWorkbook(new File("input.xls")); ``` 3. **遍历工作表(Sheets)**: `Workbook...

    iReport&jxl

    例如,可以使用 iReport 设计报表模板,然后利用 jxl 将生成的 JRXML 渲染成 Excel 文件。这样,用户就可以在熟悉的 Excel 界面中查看和编辑报表,同时保留了 Java 应用程序的后端处理能力。 在实际应用中,以下是...

    Android开发实现生成excel的方法详解

    为了在Android中生成Excel文件,我们需要引入第三方库,例如`jxl`。这个库提供了处理Excel文件的API,允许我们创建工作簿、工作表,并向其中添加数据。 ```java Workbook workbook = new HSSFWorkbook(); // 使用...

    利用javascript和jxl实现自定义报表的输出

    2. **服务器端处理**:将JavaScript处理后的数据发送到服务器,然后使用Java和JXL库生成Excel文件。这里,服务器端的Java代码会接收这些数据,创建一个新的Excel工作簿,填充数据,并设置所需的格式和样式。 3. **...

    使用POI和Excel VBA生成图表

    所以我们就动态生成一段JS: window.onload=function(){ ...... } 用Java输出图表的场景和这个一样,POI、JXL对操作Excel图表无能为力 但Excel支持脚本的,也有工作表载入事件,所以也可以用同样的原理实现 只不过...

    java 导出excel(方法二)

    jxl是一个流行且强大的Java库,能够读写Microsoft Excel文件。这里我们将介绍如何利用jxl库从数据库(如MySQL)中获取数据并将其导出到Excel。 首先,你需要在项目中添加jxl库和JDBC驱动,例如用于MySQL的`mysql-...

Global site tag (gtag.js) - Google Analytics