- 浏览: 664408 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (173)
- ajax (4)
- ant (4)
- css (14)
- eclipse (1)
- exe4j (0)
- hibernate (7)
- html (29)
- http (2)
- install4j (0)
- java (35)
- javascript (31)
- jdbc (1)
- jquery (2)
- jsp (15)
- linux命令 (8)
- ooad (2)
- properties (3)
- servlet (1)
- spring (3)
- struts (6)
- swing (4)
- thread (2)
- version_control (1)
- webservice (4)
- xml (4)
- 数据库 (19)
- 正则表达式 (5)
- 其他 (16)
- 面试题 (1)
- 框架 (9)
- maven (1)
- util (29)
- 设计模式 (1)
最新评论
-
herodie4444:
看起来好像不难。
Java Struts2创建Excel文件并实现文件下载 -
心轨翼:
Java遍历Set集合方法 -
魔鬼的献祭:
...
java的web开发分页工具类 -
Nmxszxsl:
能发一个没有被墙的代码到我的邮箱吗?万分感谢。54365156 ...
Google翻译post提交无长度限制的在线翻译例子 -
782763595:
...
jar包混淆器介绍
在做管理系统的时候,经常会用到文件的下载,特别是Excel报表的创建与下载,下面就来简单演示一下,Struts2实现的Excel文件的下载功能。
由于本实验是要动态创建Excel文件,因此需要一些jar:
Java读写Excel的包是Apache POI(项目地址:http://poi.apache.org/),因此需要先获取POI的jar包,本实验使用的是POI 3.9稳定版。
Apache POI 代码例子地址:http://poi.apache.org/spreadsheet/quick-guide.html
1. 配置struts.xml
2.编写Action类
POI的Maven配置如下:
3.Action类如下:
参考网址:
http://blog.csdn.net/zht666/article/details/11091505
由于本实验是要动态创建Excel文件,因此需要一些jar:
Java读写Excel的包是Apache POI(项目地址:http://poi.apache.org/),因此需要先获取POI的jar包,本实验使用的是POI 3.9稳定版。
Apache POI 代码例子地址:http://poi.apache.org/spreadsheet/quick-guide.html
1. 配置struts.xml
<struts> <package name="export" namespace="/export" extends="struts-default"> <action name="*" class="excelExportAction" method="{1}"/> <!--测试Excel下载--> <action name="exportExcel" class="excelExportAction" method="exportExcel"> <result name="success" type="stream"> <!-- 下载文件的类型,如果你不知道是什么格式,可以去 tomcat\conf\web.xml下找 --> <param name="contentType">application/vnd.ms-excel</param> <!-- 返回流 excelStream为action中的流变量名称 --> <param name="inputName">excelStream</param> <!-- attachment 这个位置的参数挺特殊的,可以设置成下载时,是否出现个下载提示框,或者直接下载之类的。 fileName指定生成的文件名字(适合动态生成文件名,比如做报表时,一般都要说是几月的统计数据之类)为action中变量--> <param name="contentDisposition"> attachment;filename=${excelFileName} </param> <param name="bufferSize">1024</param> </result> </action> </package> </struts>
2.编写Action类
POI的Maven配置如下:
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.8</version> </dependency>
3.Action类如下:
import org.apache.poi.hssf.usermodel.*; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.Date; public class ExcelExportAction extends ActionSupport { /** 导出Excel测试 */ public String exportExcel() { try { //第一步,创建一个webbook,对应一个Excel文件 HSSFWorkbook wb = new HSSFWorkbook(); //第二步,在webbook中添加一个sheet,对应Excel文件中的 sheet HSSFSheet sheet = wb.createSheet("测试表格1"); //第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制 HSSFRow row = sheet.createRow(0); //第四步,创建单元格样式:居中 HSSFCellStyle style = wb.createCellStyle(); style.setAlignment(HSSFCellStyle.ALIGN_CENTER); //第五步,创建表头单元格,并设置样式 HSSFCell cell; cell = row.createCell(0); cell.setCellValue("员工工号"); cell.setCellStyle(style); cell = row.createCell(1); cell.setCellValue("员工姓名"); cell.setCellStyle(style); cell = row.createCell(2); cell.setCellValue("所属部门"); cell.setCellStyle(style); cell = row.createCell(3); cell.setCellValue("职位"); cell.setCellStyle(style); cell = row.createCell(4); cell.setCellValue("入职日期"); cell.setCellStyle(style); cell = row.createCell(5); cell.setCellValue("备注"); cell.setCellStyle(style); //第六步,写入实体数据,实际应用中这些数据从数据库得到 Date today = new Date(); long aDay = 1000L*60*60*24; SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); for (int i = 1; i <= 10; i++) { row = sheet.createRow(i); row.createCell(0).setCellValue(i); row.createCell(1).setCellValue("员工" + i); row.createCell(2).setCellValue("总公司"); row.createCell(3).setCellValue("普通员工"); row.createCell(4).setCellValue(fmt.format(new Date(today.getTime() + i * aDay))); row.createCell(5).setCellValue("员工备注"); } //第七步,将文件存到流中 ByteArrayOutputStream os = new ByteArrayOutputStream(); wb.write(os); byte[] fileContent = os.toByteArray(); ByteArrayInputStream is = new ByteArrayInputStream(fileContent); excelStream = is; //文件流 excelFileName = "report.xls"; //设置下载的文件名 } catch(Exception e) { e.printStackTrace(); } return "success"; } //------------------------------------------------------------- private InputStream excelStream; //输出流变量 private String excelFileName; //下载文件名 public InputStream getExcelStream() { return excelStream; } public void setExcelStream(InputStream excelStream) { this.excelStream = excelStream; } public String getExcelFileName() { return excelFileName; } public void setExcelFileName(String excelFileName) { this.excelFileName = excelFileName; } }
参考网址:
http://blog.csdn.net/zht666/article/details/11091505
- poi3.8.zip (1.6 MB)
- 下载次数: 1
发表评论
-
java读取.properties配置文件的几种方法
2017-09-22 09:38 672读取.properties配置文件在实际的开发中使用的很多,总 ... -
java前后台字符串编码转换
2016-12-15 15:52 801此文为应用中遇到字符串编码转换问题网上找资料解决问题记录笔记, ... -
JavaScript replace字符串替换函数的用法
2016-10-19 15:21 875replace 语法 stringObj.replace(rg ... -
JS Date函数整理
2015-01-30 10:43 1069JS Date 对象用于处理日期和时间。 创建 Date 对象 ... -
js中setInterval与setTimeout用法
2014-11-19 17:09 1031下面详述js中的延时任务与周期任务的实现。 1.setTim ... -
Struts2非UI标签
2013-06-05 18:58 2433一 介绍 1.Struts2的作用 ... -
java枚举类型(转)
2012-12-24 18:34 4973public class TestEnum { ... -
转 js中数据类型判断(转)
2012-11-05 11:07 1139转载自: http://www.cnblogs.com/yjh ... -
日期比较例子
2012-10-16 15:30 1213/** * 时间日期比较处理例子 * @autho ... -
包含日期和时间的选择器(转)
2012-09-27 16:11 1093转载自: http://www.cnblogs.com/swe ... -
基于hibernate的数据持久化处理简单实现类
2012-09-26 20:03 1774package com.forveross.plane.s ... -
Struts2的简单示例action类
2012-09-26 19:57 4689基类: package com.kit.common; ... -
jsp通用分页实现脚本
2012-09-26 17:12 1702工具脚本使用时只需替换url的问号前半部分即可。 此页面需要j ... -
Java过滤html标签
2012-09-21 09:54 1808方法一: String oldStr="< ... -
Web项目设置页面不缓存
2012-08-04 19:55 2870htm网页 <meta http-equiv=&qu ... -
Java文件保存与删除工具类
2012-07-26 15:46 4352import java.io.File; import ... -
linux修改系统时间(RHEL)
2012-07-20 16:53 953一般使用“date -s”命令来修改系统时间 比如将系统时间 ... -
使用Filter实现访问监控
2012-07-15 21:40 1514实现Servlet的接口过滤器接口Filter实现对用户访问页 ... -
使用AOP实现监控日志并保存
2012-07-13 20:42 6006最近项目中要做个效能监控的功能,经过考虑,觉得选择spring ... -
POI兼容读取Excel2003和Excel2007
2012-06-29 16:00 9452import java.io.File; import ...
相关推荐
将Workbook写入到HttpServletResponse的OutputStream中,设置合适的Content-Type(如application/vnd.ms-excel)和文件名头(Content-Disposition),这样浏览器就会弹出下载对话框,用户可以选择保存Excel文件。...
通过上述步骤,我们就可以在Struts2框架下实现文件流方式的下载功能,无论是Excel、TXT还是图片,都能有效地直接返回给浏览器,让客户端进行下载。这种方式既节省了服务器资源,也提高了用户体验。在实际项目中,...
在Struts2框架中,实现Excel导出的功能主要依赖于Apache POI库,这是一个用于读写Microsoft Office格式档案的Java库。以下将详细介绍如何利用Struts2和POI实现Excel导出。 首先,你需要在项目中引入Apache POI库。...
总结,这个项目展示了如何结合Struts2的MVC架构、Apache POI的Excel处理能力和JDBC的数据库操作,实现从Excel文件批量导入数据到SQL Server 2000数据库的功能。这个过程涉及文件上传、数据读取、数据库交互等多个...
总的来说,Struts2提供了便捷的方式来处理文件下载,而Apache POI使我们能够在Java中动态生成Excel文件,这两者结合为Web应用提供了强大的文件操作能力。在实际开发中,你需要根据具体的需求进行适当的调整和优化,...
总之,这个源码项目展示了如何结合Struts1的MVC架构和Apache POI的强大功能,实现对Excel文件的高效批量导入,同时支持两种主要的Excel文件格式。通过学习和理解这个项目,开发者可以提升在Web应用中处理Excel数据的...
Struts2 和 Apache POI 的结合使用主要集中在创建 Web 应用程序中导出 Excel 文件的功能上。Apache POI 是一个 Java 库,允许开发者创建、修改和显示 Microsoft Office 格式的文件,其中包括 Excel。而 Struts2 是一...
总的来说,结合Struts2和JXL,开发者可以方便地在Java web应用中实现Excel文件的生成与导出功能,提供给用户高效的数据导出体验。通过深入理解和实践,可以进一步定制化Excel的样式和内容,满足各种业务需求。
Struts2是一个流行的Java web框架,它为开发者提供了构建MVC(模型-视图-控制器)应用程序的强大工具。在这个特定的项目中,我们关注的是"struts2文件上传下载"的功能,这涉及到用户通过Web界面上传文件到服务器,...
在导出Excel的场景中,Action通常负责获取数据、创建Excel工作簿并将其转换为流,最后响应到客户端。 2. **JAR包**: 提供了导出Excel功能的库,如JXL。JXL是一个开源的Java库,专门用于读写Excel文件。在这个Demo中...
例如,你可以定义一个`importExcel`方法来接收上传的Excel文件,以及一个`exportExcel`方法用于生成并下载Excel文件。 2. **上传文件**: Struts2支持文件上传,你需要在struts.xml配置文件中启用这个特性,并在...
本教程将深入探讨如何利用Struts2实现从Oracle数据库导出数据到Excel,以及如何将Excel文件中的数据导入到Oracle。 首先,我们需要了解Oracle数据库的基础知识。Oracle是世界上最广泛使用的商业关系型数据库管理...
在Struts2中实现文件下载的功能,可以帮助用户从服务器获取并保存文件到本地计算机,例如这里的"1.xls"文件。下面我们将深入探讨如何在Struts2框架下实现文件下载的实例。 首先,我们需要在项目的Web应用目录结构中...
总的来说,Java通过Apache POI库提供了一种强大而灵活的方式来生成Excel文件,结合Web框架,可以方便地实现文件下载功能,满足各种业务需求。在开发过程中,确保对性能进行优化,避免内存溢出,同时关注代码的可读性...
为了将生成的Excel文件发送给用户下载,我们需要在Struts2的配置文件(struts.xml)中定义一个Result类型,例如`stream`,然后在Action类中设置响应头信息,并将工作簿写入到OutputStream中。 ```xml ...
Struts2 和 Apache POI 的整合允许开发者轻松地实现在 Web 应用程序中导出 Excel 文件的功能。Apache POI 是一个 Java 库,它提供了处理 Microsoft Office 格式(如 .xls 和 .xlsx)的能力,包括创建、读取和修改 ...
在Struts2中实现Excel导入功能,可以让用户上传Excel文件,然后在服务器端进行数据处理,例如存储到数据库或者进行数据分析。 在描述中提到的“完整美运行有JAR包”,意味着这个压缩包可能包含了所有必要的库文件,...
Struts2和Apache POI是Java开发中两个重要的工具,它们在处理Web应用程序中的数据导出,特别是Excel表格导出方面发挥着重要作用。Struts2是一个基于MVC设计模式的Web应用框架,它极大地简化了Java Web开发。而Apache...
开发者需要理解ExtJS的组件使用、Struts2的文件上传处理、Java对Excel文件的操作以及数据库的批量插入技巧,才能成功完成这样的功能。而提供的Book1.xls文件可能是示例数据,用于测试上传和导入功能。
本示例涉及的是从Excel文件中读取数据,并将其转换成TXT文件的过程。这个过程通常用于数据迁移、数据分析或者格式转换等场景。以下是对这个主题的详细阐述: 1. **读取Excel文件**: 在Java开发中,我们可以使用...