- 浏览: 587460 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (174)
- JBPM (3)
- WWF (0)
- JavaScript (11)
- J2EE (40)
- OperationSystem (11)
- 数据库 (12)
- CSS (1)
- Ajax (2)
- J2SE (30)
- Tools (10)
- 服务器中间件 (3)
- 异常 (0)
- Flex (5)
- jQuery (11)
- html (9)
- Ejb (1)
- HTML5 Shiv–让该死的IE系列支持HTML5吧 (1)
- Spring (9)
- Quartz (3)
- log4j (1)
- maven (1)
- cpdetector (1)
- JSON (1)
- log4jdbc (1)
- asm (8)
- FusionCharts (1)
- jqplot (1)
- highcharts (1)
- excanvas (1)
- html5 (1)
- jpcap介绍 (1)
- weblogic (3)
- URLURLClassLoader (0)
- URLClassLoader (1)
- ant (2)
- ivy (2)
- nexus (1)
- IT (0)
- LoadRunner (1)
- SCSS (1)
- ruby (1)
- webstorm (1)
- typescript (1)
- Jboss7 (1)
- wildfly (1)
- oracle (5)
- esb (0)
- dubbo (2)
- zookeeper (3)
- eclipse (1)
- Android (2)
- Studio (1)
- Google (1)
- 微信 (1)
- 企业号 (1)
- Linux (13)
- Oracle12c (1)
- Hadoop (1)
- InletexEMC (1)
- Windows (1)
- Netty (3)
- Marshalling (2)
- Protobuf (1)
- gcc (1)
- Git (1)
- GitLab (1)
- shell (2)
- java (3)
- Spring4 (1)
- hibernate4 (1)
- postgresql (1)
- ApacheServer (2)
- Tomcat (2)
- ApacheHttpServer (2)
- realvnc (1)
- redhat (7)
- vncviewer (1)
- LVS (4)
- LVS-DR (1)
- RedHat6.5 (5)
- LVS-NAT (1)
- LVS-IPTUNNEL (2)
- LVS-TUN (1)
- keepalived (2)
- yum (1)
- iso (1)
- VMware (1)
- redhat5 (1)
- ha (1)
- nginx (2)
- proguard (1)
- Mat (1)
- DTFJ (1)
- axis2 (1)
- web service (1)
- centos (1)
- random (1)
- urandom (1)
- apache (1)
- IBM (1)
- cve (1)
- 漏洞 (1)
- JDBC (1)
- DataSource (1)
- jdk (1)
- tuxedo (2)
- wtc (1)
最新评论
-
skying007:
好资料,谢谢分享给啊
FusionCharts在服务器端导出图片(J2EE版) -
cgnnzg:
大神好 可以发一份源码给我学习么 多谢了 978241085 ...
springmvc+dubbo+zookeeper -
jifengjianhao:
求源码:854606899@qq.com
springmvc+dubbo+zookeeper -
wdloyeu:
shihuan8@163.com邮箱网盘在哪,没找到。能给份源 ...
Java Socket长连接示例代码 -
huangshangyuanji:
求代码:45613032@qq.com
springmvc+dubbo+zookeeper
Java代码
1.<%@ page contentType="text/html; charset=gbk" %>
2.<%@ taglib uri="/struts-tags" prefix="s"%>
3.<html>
4.<a href="excel.action">下载文件</a>
5.</html>
<%@ page contentType="text/html; charset=gbk" %>
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
<a href="excel.action">下载文件</a>
</html>
struts.xml文件
文件内容:
Xml代码
1.<?xml version="1.0" encoding="UTF-8" ?>
2.<!DOCTYPE struts PUBLIC
3. "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
4. "http://struts.apache.org/dtds/struts-2.0.dtd">
5.
6.<struts>
7.
8. <package name="default" extends="struts-default">
9. <action name="excel" class="ExcelDownloadAction">
10. <result name="success" type="stream">
11. <param name="contentType">application/vnd.ms-excel</param>
12. <param name="contentDisposition">attachment;filename="AllUsers.xls"</param>
13. <param name="inputName">excelFile</param>
14. </result>
15. </action>
16. </package>
17.</struts>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="excel" class="ExcelDownloadAction">
<result name="success" type="stream">
<param name="contentType">application/vnd.ms-excel</param>
<param name="contentDisposition">attachment;filename="AllUsers.xls"</param>
<param name="inputName">excelFile</param>
</result>
</action>
</package>
</struts>
Java代码
1.import java.io.ByteArrayInputStream;
2.import java.io.ByteArrayOutputStream;
3.import java.io.IOException;
4.import java.io.InputStream;
5.
6.import org.apache.poi.hssf.usermodel.HSSFCell;
7.import org.apache.poi.hssf.usermodel.HSSFRow;
8.import org.apache.poi.hssf.usermodel.HSSFSheet;
9.import org.apache.poi.hssf.usermodel.HSSFWorkbook;
10.
11.import com.opensymphony.xwork2.ActionSupport;
12.
13.@SuppressWarnings("serial")
14.public class ExcelDownloadAction extends ActionSupport {
15.
16. public InputStream getExcelFile() {
17. HSSFWorkbook workbook = new HSSFWorkbook();
18. HSSFSheet sheet = workbook.createSheet("sheet1");
19. {
20. // 创建表头
21. HSSFRow row = sheet.createRow(0);
22. HSSFCell cell = row.createCell((short) 0);
23. cell.setCellValue("id");
24. cell = row.createCell((short) 1);
25. cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
26. cell.setCellValue("姓");
27. cell = row.createCell((short) 2);
28. cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
29. cell.setCellValue("名");
30. cell = row.createCell((short) 3);
31. cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
32. cell.setCellValue("年龄");
33.
34. // 创建数据
35. // 第一行
36. row = sheet.createRow(1);
37. cell = row.createCell((short) 0);
38. cell.setCellValue("1");
39. cell = row.createCell((short) 1);
40. cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
41. cell.setCellValue("张");
42. cell = row.createCell((short) 2);
43. cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
44. cell.setCellValue("四");
45. cell = row.createCell((short) 3);
46. cell.setCellValue("23");
47.
48. // 第二行
49. row = sheet.createRow(2);
50. cell = row.createCell((short) 0);
51. cell.setCellValue("2");
52. cell = row.createCell((short) 1);
53. cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
54. cell.setCellValue("李");
55. cell = row.createCell((short) 2);
56. cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
57. cell.setCellValue("六");
58. cell = row.createCell((short) 3);
59. cell.setCellValue("30");
60. }
61.
62. ByteArrayOutputStream baos = new ByteArrayOutputStream();
63. try {
64. workbook.write(baos);
65. } catch (IOException e) {
66. // TODO Auto-generated catch block
67. e.printStackTrace();
68. }
69. byte[] ba = baos.toByteArray();
70. ByteArrayInputStream bais = new ByteArrayInputStream(ba);
71. return bais;
72.
73. }
74.
75. @Override
76. public String execute() throws Exception {
77. // TODO Auto-generated method stub
78. return super.execute();
79. }
80.
81.}
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class ExcelDownloadAction extends ActionSupport {
public InputStream getExcelFile() {
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("sheet1");
{
// 创建表头
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell((short) 0);
cell.setCellValue("id");
cell = row.createCell((short) 1);
cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
cell.setCellValue("姓");
cell = row.createCell((short) 2);
cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
cell.setCellValue("名");
cell = row.createCell((short) 3);
cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
cell.setCellValue("年龄");
// 创建数据
// 第一行
row = sheet.createRow(1);
cell = row.createCell((short) 0);
cell.setCellValue("1");
cell = row.createCell((short) 1);
cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
cell.setCellValue("张");
cell = row.createCell((short) 2);
cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
cell.setCellValue("四");
cell = row.createCell((short) 3);
cell.setCellValue("23");
// 第二行
row = sheet.createRow(2);
cell = row.createCell((short) 0);
cell.setCellValue("2");
cell = row.createCell((short) 1);
cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
cell.setCellValue("李");
cell = row.createCell((short) 2);
cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
cell.setCellValue("六");
cell = row.createCell((short) 3);
cell.setCellValue("30");
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
workbook.write(baos);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
byte[] ba = baos.toByteArray();
ByteArrayInputStream bais = new ByteArrayInputStream(ba);
return bais;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
return super.execute();
}
}
本文出自:http://kin111.blog.51cto.com/738881/167727
1.<%@ page contentType="text/html; charset=gbk" %>
2.<%@ taglib uri="/struts-tags" prefix="s"%>
3.<html>
4.<a href="excel.action">下载文件</a>
5.</html>
<%@ page contentType="text/html; charset=gbk" %>
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
<a href="excel.action">下载文件</a>
</html>
struts.xml文件
文件内容:
Xml代码
1.<?xml version="1.0" encoding="UTF-8" ?>
2.<!DOCTYPE struts PUBLIC
3. "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
4. "http://struts.apache.org/dtds/struts-2.0.dtd">
5.
6.<struts>
7.
8. <package name="default" extends="struts-default">
9. <action name="excel" class="ExcelDownloadAction">
10. <result name="success" type="stream">
11. <param name="contentType">application/vnd.ms-excel</param>
12. <param name="contentDisposition">attachment;filename="AllUsers.xls"</param>
13. <param name="inputName">excelFile</param>
14. </result>
15. </action>
16. </package>
17.</struts>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="excel" class="ExcelDownloadAction">
<result name="success" type="stream">
<param name="contentType">application/vnd.ms-excel</param>
<param name="contentDisposition">attachment;filename="AllUsers.xls"</param>
<param name="inputName">excelFile</param>
</result>
</action>
</package>
</struts>
Java代码
1.import java.io.ByteArrayInputStream;
2.import java.io.ByteArrayOutputStream;
3.import java.io.IOException;
4.import java.io.InputStream;
5.
6.import org.apache.poi.hssf.usermodel.HSSFCell;
7.import org.apache.poi.hssf.usermodel.HSSFRow;
8.import org.apache.poi.hssf.usermodel.HSSFSheet;
9.import org.apache.poi.hssf.usermodel.HSSFWorkbook;
10.
11.import com.opensymphony.xwork2.ActionSupport;
12.
13.@SuppressWarnings("serial")
14.public class ExcelDownloadAction extends ActionSupport {
15.
16. public InputStream getExcelFile() {
17. HSSFWorkbook workbook = new HSSFWorkbook();
18. HSSFSheet sheet = workbook.createSheet("sheet1");
19. {
20. // 创建表头
21. HSSFRow row = sheet.createRow(0);
22. HSSFCell cell = row.createCell((short) 0);
23. cell.setCellValue("id");
24. cell = row.createCell((short) 1);
25. cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
26. cell.setCellValue("姓");
27. cell = row.createCell((short) 2);
28. cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
29. cell.setCellValue("名");
30. cell = row.createCell((short) 3);
31. cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
32. cell.setCellValue("年龄");
33.
34. // 创建数据
35. // 第一行
36. row = sheet.createRow(1);
37. cell = row.createCell((short) 0);
38. cell.setCellValue("1");
39. cell = row.createCell((short) 1);
40. cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
41. cell.setCellValue("张");
42. cell = row.createCell((short) 2);
43. cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
44. cell.setCellValue("四");
45. cell = row.createCell((short) 3);
46. cell.setCellValue("23");
47.
48. // 第二行
49. row = sheet.createRow(2);
50. cell = row.createCell((short) 0);
51. cell.setCellValue("2");
52. cell = row.createCell((short) 1);
53. cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
54. cell.setCellValue("李");
55. cell = row.createCell((short) 2);
56. cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
57. cell.setCellValue("六");
58. cell = row.createCell((short) 3);
59. cell.setCellValue("30");
60. }
61.
62. ByteArrayOutputStream baos = new ByteArrayOutputStream();
63. try {
64. workbook.write(baos);
65. } catch (IOException e) {
66. // TODO Auto-generated catch block
67. e.printStackTrace();
68. }
69. byte[] ba = baos.toByteArray();
70. ByteArrayInputStream bais = new ByteArrayInputStream(ba);
71. return bais;
72.
73. }
74.
75. @Override
76. public String execute() throws Exception {
77. // TODO Auto-generated method stub
78. return super.execute();
79. }
80.
81.}
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class ExcelDownloadAction extends ActionSupport {
public InputStream getExcelFile() {
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("sheet1");
{
// 创建表头
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell((short) 0);
cell.setCellValue("id");
cell = row.createCell((short) 1);
cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
cell.setCellValue("姓");
cell = row.createCell((short) 2);
cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
cell.setCellValue("名");
cell = row.createCell((short) 3);
cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
cell.setCellValue("年龄");
// 创建数据
// 第一行
row = sheet.createRow(1);
cell = row.createCell((short) 0);
cell.setCellValue("1");
cell = row.createCell((short) 1);
cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
cell.setCellValue("张");
cell = row.createCell((short) 2);
cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
cell.setCellValue("四");
cell = row.createCell((short) 3);
cell.setCellValue("23");
// 第二行
row = sheet.createRow(2);
cell = row.createCell((short) 0);
cell.setCellValue("2");
cell = row.createCell((short) 1);
cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
cell.setCellValue("李");
cell = row.createCell((short) 2);
cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
cell.setCellValue("六");
cell = row.createCell((short) 3);
cell.setCellValue("30");
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
workbook.write(baos);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
byte[] ba = baos.toByteArray();
ByteArrayInputStream bais = new ByteArrayInputStream(ba);
return bais;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
return super.execute();
}
}
本文出自:http://kin111.blog.51cto.com/738881/167727
发表评论
-
Spring4Mvc整合Hibernate4框架示例
2016-02-05 11:52 1438今天用NetBeans8.1搭建了一套Spring4MVC+H ... -
Spring4配置properties文件的一点儿细节
2016-02-04 15:40 2829http://repo.spring.io/release/o ... -
JavaWeb发送信息到微信公众平台的企业号
2015-11-01 22:42 3839首先到微信公众平台申请微信企业号: https://qy.we ... -
springmvc+dubbo+zookeeper
2015-09-22 11:34 12081笔者这里使用的是apache- ... -
OracleAS10g安装配置与部署
2015-07-01 20:59 733先到Oracle官方下载OracleAS10的安装包,截图如下 ... -
java和spring使用weblogic数据源配置
2014-10-13 11:29 3083需要weblogic.jar和jrmpclient.jar ... -
一套基本的SpringMvc工程所需要的最基本jar包(pom.xml)
2014-08-19 16:38 1940附件里是pom.xml文件。 -
html的form表单提交得不到参数问题
2014-07-25 16:13 1890今天同事问我他的form表单按submit方式提交,在Java ... -
Spring3Mvc导出PDF的3种形式+导出excel的两种形式(exportAnimal.do)
2014-07-19 22:55 1173附件里SpringMvc导出PDF和Excel的示例代码。 ... -
Java利用中国网建SMS短信通平台发送手机短信
2014-04-26 21:55 2266JAVA发送手机短信,流传有几种方法: (1)使用webser ... -
在Java中发送电子邮件
2014-04-26 18:42 9638要先申请一个网易的126邮箱和一个新浪的com邮箱。 以下程 ... -
cpdetector_1.0.10_binary下载
2014-03-26 20:53 1081附件里是cpdetector_1.0.10_binary.ra ... -
在Java代码中用Axis2调用DotNet语言的WebService程序
2014-02-19 15:19 2620package com.shihuan.ymail.com ... -
SpringMvc多语言配置
2014-01-14 16:01 14461applicationContext.xml文件中加入如下代码 ... -
log4j多级别多输出文件的配置
2013-07-22 21:28 1594以下代码需要log4j-1.2.17.jar的支持。 B ... -
mysql和Oracle在对clob和blob字段的处理
2012-08-25 18:50 30976一、MySQL与Oracle数据库如何处理Clob,Bl ... -
Spring3Mvc+Hibernate整合Axis2发布WebService并配置Quartz调度
2012-08-05 12:54 2232附件里是笔者的源代码,相关的jar包在笔者的abcdef的16 ... -
Lucene案例
2012-06-10 15:15 2630IndexerMmseg4j.java代码如下: import ... -
Mina入门程序
2012-06-02 15:05 1167附件里是Mina的入门程序。 http://mina.apa ... -
让Hibernate的执行语句看见完整参数
2012-04-29 10:09 1060http://www.ibm.com/developerwor ...
相关推荐
下面将详细介绍如何在Struts2中利用POI在内存中生成Excel文件并提供下载。 首先,了解Apache POI的基本用法。POI提供了HSSFWorkbook类,用于处理Excel的XLS格式,而XSSFWorkbook则处理XLSX格式。这里我们主要讨论...
Struts2 和 Apache POI 的结合使用主要集中在创建 Web 应用程序中导出 Excel 文件的功能上。Apache POI 是一个 Java 库,允许开发者创建、修改和显示 Microsoft Office 格式的文件,其中包括 Excel。而 Struts2 是一...
在Java Web开发中,Struts2是一个非常流行的MVC框架,它简化了处理HTTP...总之,通过Struts2和Apache POI的结合,开发者可以方便地在Web应用中提供数据导出为Excel的功能,这对于数据分析、报表生成等场景非常实用。
Struts2和Apache POI是Java开发中两个重要的库,它们在处理Web应用程序和Excel文件操作方面发挥着关键作用。Struts2是一个流行的MVC框架,用于构建动态、灵活的Web应用,而Apache POI是一个Java API,允许开发者读取...
Struts2和Apache POI是Java开发中两个重要的工具,它们在处理Web应用程序中的数据导出,特别是Excel表格导出方面发挥着重要作用。Struts2是一个基于MVC设计模式的Web应用框架,它极大地简化了Java Web开发。而Apache...
Struts2支持文件上传,你需要在struts.xml配置文件中启用这个特性,并在Action类中添加对应的参数类型为`File`和`String`的属性,以接收上传的文件和文件名。Struts2会自动将这些信息封装到Action中。 3. **使用...
在Struts2框架中,可以使用`Action`类的`StreamingResult`结果类型来实现。 ```java public StreamingResult generateDownload() { StreamingResult result = new StreamingResult(); result.setFileName(...
在Struts2框架中,实现Excel导出的功能主要依赖于Apache POI库,这是一个用于读写Microsoft Office格式档案的Java库。以下将详细介绍如何利用Struts2和POI实现Excel导出。 首先,你需要在项目中引入Apache POI库。...
总的来说,通过Apache POI与Struts2的结合,我们可以轻松地在Java Web应用中实现Excel文件的读写和合并操作。这在数据分析、报表生成、数据导入导出等场景下非常实用。但要注意处理大数据时性能问题,因为内存中存储...
反之,在导出Excel时,可以从数据库中查询数据,再通过POI生成Excel文件。 4. **POI的使用**: - **导入Excel**:首先,我们需要使用POI的API解析上传的Excel文件,例如使用`XSSFWorkbook`或`HSSFWorkbook`处理...
- 创建一个Struts2 Action,该Action负责从数据库中获取数据并使用Apache POI生成Excel文件。 - 在Action中,使用Spring的AOP来管理事务,保证数据操作的完整性和一致性。 - 配置Struts2结果类型为流式结果,将...
6. **性能优化**:在处理大量数据时,POI提供了一些优化策略,比如SXSSF(Streaming Usermodel API)允许在内存有限的情况下处理大型Excel文件,因为它将部分数据写入磁盘。 7. **错误处理**:在读取或写入过程中,...
2. **配置Struts2 XML**:在`struts.xml`配置文件中,为`ExportExcelAction`添加一个对应的action配置,指定其执行方法和返回的结果类型。通常,我们会配置一个`stream`结果类型,这样可以将Excel文件作为流直接发送...
通过以上步骤,我们可以实现一个简单的Struts2应用,该应用能够根据用户请求,使用Apache POI库动态生成并导出Excel文件。在实际项目中,可能还需要考虑数据过滤、排序、分页等功能,以及与数据库的交互,这些都可以...
总结起来,本主题涵盖的核心知识点包括Struts2的Action、Spring的依赖注入和事务管理、Hibernate的数据库操作、Apache POI库的使用以及文件上传和下载的处理。通过理解这些内容,开发者能够构建起一个完整的、支持...
在"Struts2+JXL 下载 Excel 文档"的场景中,开发者通常会创建一个Action,这个Action负责生成Excel文档并提供下载。用户通过浏览器访问特定URL,Struts2框架接收到请求后,会路由到相应的Action。Action内部会利用...
在Struts2中,我们可以利用POI创建HSSFWorkbook对象,然后通过创建Sheet和Row,填充数据,最后将其写入OutputStream,响应给客户端下载。 4. **Java导出excel小实例.doc** 这个文档可能包含了使用Java和Apache POI...
在Struts1的Action类中,将生成的Workbook对象转换为InputStream,然后通过HttpServletResponse的setHeader和getOutputStream方法,设置Content-Disposition为“attachment”,让用户下载这个Excel文件。文件名可以...
2. poi-ooxml-schemas-3.9.jar、xmlbeans-5.1.7.jar、poi-3.9.jar、poi-scratchpad-3.9.jar、poi-ooxml-3.9.jar:这些是Apache POI库,用于读写Microsoft Office格式的文件,如Excel,可能会在生成报表或者处理用户...
6. **模板应用**:Apache POI允许开发者创建模板文件,并通过填充数据动态生成新的Office文档,这对于报告生成、自动化办公等场景非常有用。 7. **错误处理**:在处理Office文档时,可能出现各种错误,如文件损坏、...