前一篇关于excel导出的文章,在本机上测试是没有什么问题的,但是应用程序布置在linux服务器上时会出现乱码问题,所以又找了一个关于excel导出的程序,具体步骤如下:
1.配置文件:
<action name="exportUserExcel" class="userAction" method="exportUserExcel">
<result name="input">/WEB-INF/pages/admin/listUser.jsp
</result>
</action>
2.导出函数
/**
* 导出所有用户的列表
*
* @return
* @throws Exception
*/
public String exportUserExcel() throws Exception {
HttpServletResponse response = ServletActionContext.getResponse();
// 定义request ,response.
// 查询下载附件.
// 设置下载头信息.begin
response.setCharacterEncoding("UTF-8");
response.setContentType("file");
response.setHeader("Content-Disposition", "attachment; filename="
+ new String("用户通讯录.xls".getBytes("GB2312"), "iso8859-1"));
// 这个地方一定要进行编码的转换要不然中文字符会出现乱码.
// 设置下载头信息.end,
OutputStream output = null;
InputStream fis = null;
try {
output = response.getOutputStream();
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(output);
jxl.write.WritableSheet ws = wwb.createSheet("用户通讯录", 0);
// 设置标题.ws.addCell(new jxl.write.Label(列, 行, 内容.));
ws.addCell(new Label(0, 1, "编号"));
ws.addCell(new Label(1, 1, "登录名称"));
ws.addCell(new Label(2, 1, "联系人"));
ws.addCell(new Label(3, 1, "电话"));
ws.addCell(new Label(4, 1, "email"));
ws.addCell(new Label(5, 1, "单位名称"));
ws.addCell(new Label(6, 1, "单位邮编"));
ws.addCell(new Label(7, 1, "单位地址"));
// 设置显示长度.
ws.setColumnView(1, 15);
// 登录名长度
ws.setColumnView(2, 15);
ws.setColumnView(3, 15);
ws.setColumnView(4, 20);
ws.setColumnView(5, 20);
ws.setColumnView(6, 20);
ws.setColumnView(7, 20);
ws.setColumnView(8, 40);
int i = 1;
List list1 = mobjUserService.findAllUser();
for (int j = 0; j < list1.size(); j++) {
User user = (User) list1.get(j);
ws.addCell(new jxl.write.Number(0, i + 1, i));
// 这里设置是自增的序号而不是ID号.也可以改成ID号.
// ws.addCell(new jxl.write.Label(1, i + 1, ""
// + user.getUserId()));
ws.addCell(new Label(1, i + 1, "" + user.getLoginName()));
// 登录名
ws.addCell(new Label(2, i + 1, "" + user.getContactPerson()));
// 联系人
ws.addCell(new Label(3, i + 1, "" + user.getPhone()));
// 联系电话.
ws.addCell(new Label(4, i + 1, "" + user.getEmail()));
// email.
if (null != user.getRecommendCompany()) {
ws.addCell(new Label(5, i + 1, ""
+ user.getRecommendCompany().getCompanyName()));
if (user.getRecommendCompany().getCompanyZipcode() != null) {
ws.addCell(new Label(6, i + 1, ""
+ user.getRecommendCompany()
.getCompanyZipcode()));
} else {
ws.addCell(new Label(6, i + 1, ""));
// 增加邮编为""的判断.因为这个是Integer的类型.
}
ws.addCell(new Label(7, i + 1, ""
+ user.getRecommendCompany().getCompanyAddress()));
} else {
ws.addCell(new Label(5, i + 1, ""));
ws.addCell(new Label(6, i + 1, ""));
ws.addCell(new Label(7, i + 1, ""));
}
i++;
}
wwb.write();
wwb.close();
} catch (Exception e) {
System.out.println("Error!");
e.printStackTrace();
} finally {// 正常关闭输入输出流.
try {
if (fis != null) {
fis.close();
fis = null;
}
} catch (Exception e) {
e.printStackTrace();
}
try {
if (output != null) {
output.close();
output = null;
}
} catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
3.页面上的只要有提交执行该方法就行了
分享到:
相关推荐
本教程将介绍如何使用这两者结合jQuery来实现数据查询、分页以及Excel导出功能。 1. **JSP基础** JSP是一种服务器端脚本语言,用于生成动态HTML页面。开发者可以在JSP文件中混合使用HTML、Java代码和自定义标签库...
在Excel导出场景下,Action类将执行导出逻辑,并通过结果配置将生成的Excel文件返回给浏览器。 2. **Spring**:Spring可以作为依赖管理容器,将Struts2的Action与服务层(Service)组件进行依赖注入。同时,Spring...
除了基础的Excel导出,还可以实现更多高级功能,比如合并单元格、插入图表、设置条件格式等。同时,对于更现代的XLSX格式,Apache POI也提供了对应的接口(如XSSFWorkbook)。 通过以上讲解,我们可以看到,结合...
在Struts2中实现Excel导出是一项常见的需求,这通常涉及到将数据库或其他数据源中的数据转换为Excel格式,以便用户可以下载和进一步处理。下面我们将深入探讨如何在Struts2中实现这一功能。 首先,我们需要了解...
在 Java 开发中,如果你需要导出数据到 Excel,Apache POI 提供了高效的 API 来实现这一功能。在本文中,我们将深入探讨如何使用 POI 组件来创建和操作 Excel 文档。 1. **创建 Excel 文档对象** 创建一个 Excel ...
本压缩包"struts2导出excel.rar"提供了关于如何在Struts2框架中实现Excel导出功能的相关资源。 1. **Struts2框架基础** Struts2是一个基于MVC(Model-View-Controller)设计模式的Java框架,它简化了MVC的实现,...
首先,让我们深入理解一下如何使用Struts2和POI来实现Excel的导入导出。 1. **Struts2的Action配置**: 在Struts2中,你需要创建一个Action类来处理用户请求。这个Action类会有一个方法,专门处理导入或导出Excel...
在Java开发中,导出...总结来说,Apache POI与Struts2的结合使用,使得在Java Web应用中实现Excel导出变得简单高效。通过理解这两个库的核心概念和API,你可以定制化地生成符合业务需求的Excel报表,提升工作效率。
在Struts2中,你可以创建一个Action类,该类包含一个导出Excel的方法,并将上述代码集成到其中。别忘了在Action中设置合适的Result类型,使得返回的内容被浏览器识别为Excel文件,通常可以设置Content-Type为...
描述中提到的“最简单易懂的方式写了导出的步骤”,意味着这个教程或代码示例可能以清晰明了的方式展示了如何在Struts2中使用POI来处理Excel导出。它强调了没有包含复杂的样式设置,使得初学者更容易理解和实现。...
1. **配置Struts1.2 Action**:创建一个专门处理Excel导出的Action类,比如`ExportExcelAction`。在这个类中,我们需要定义一个方法来执行导出逻辑,如`export()`。这个方法会被Struts1.2的DispatcherServlet调用。 ...
在这个“struts2+poi导出excel表格完整例子”中,我们将深入探讨这两个工具如何协同工作,实现从Web应用导出数据到Excel电子表格的功能。 首先,让我们了解一下Struts2的工作原理。Struts2基于拦截器(Interceptor...
Struts2 和 Apache POI 的整合允许开发者轻松地实现在 Web 应用程序中导出 Excel 文件的功能。Apache POI 是一个 Java 库,它提供了处理 Microsoft Office 格式(如 .xls 和 .xlsx)的能力,包括创建、读取和修改 ...
总之,这个示例展示了Struts2、IText和Excel(POI)在实际项目中的整合应用,提供了动态生成和导出Word文档的能力,同时也能处理Excel数据的导入与导出,对提升企业级应用的数据处理能力大有裨益。
在描述中提到的"Struts2导出实例",主要指的是在Struts2框架下实现数据导出功能,特别是针对Excel格式的数据导出。这一功能在许多业务场景中都非常常见,比如数据分析、报表生成等。 在Struts2框架中实现数据导出,...
【基于Struts2 Spring iBatis POI开发的导出Excel实例详解】 在现代Web应用程序中,导出数据到Excel格式是一种常见的需求,这有助于...通过学习和理解这些代码,开发者可以快速掌握在实际项目中实现Excel导出的方法。
在这个项目中,“struts2_spring_ibatis根据模板文件导出Excel”是利用这三大框架实现了一个功能,即根据预设的模板文件生成并导出Excel电子表格。 首先,Struts2是基于Model-View-Controller(MVC)架构的Web应用...
在这个“struts2 excel下载DEMO和jquery生成二维码DEMO”中,我们将深入探讨如何在Struts2环境下处理Excel文件下载以及使用jQuery库生成二维码。 首先,关于Struts2生成Excel下载的功能。在企业应用中,常常需要将...