1、struts2配置文件
<!-- 下载专题库资源分类的excel模板 -->
<action name="getResClassifyDemo" class="ResClassifyAction"
method="getResClassifyDemo">
<result type="stream">
<param name="contentType">application/vnd.ms-excel</param>
<param name="inputName">excelStream</param>
<param name="contentDisposition">attachment;filename="demo.xls"</param>
<param name="bufferSize">4096</param>
</result>
</action>
2、Action 方法
/***
* 下载资源分类的excel模板 zhang.kt
*/
private InputStream excelStream;
public InputStream getExcelStream() {
return excelStream;
}
public void setExcelStream(InputStream excelStream) {
this.excelStream = excelStream;
}
public String getResClassifyDemo() {
/*
* 查询应用分类导航书,按照node_id从小到大排序
*/
List<ResClassifyEntity> ls = this.resClassifyService.showResClassifyByOrder();
try {
HSSFWorkbook wb = this.writeXLS(ls);
this.exportExcel(wb);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return SUCCESS;
}
3、action 方法中调用的公共方法
//excel导出
private void exportExcel(HSSFWorkbook workbook) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
workbook.write(baos);
baos.flush();
byte[] aa = baos.toByteArray();
excelStream = new ByteArrayInputStream(aa, 0, aa.length);
baos.close();
}
//excel数据写入的操作
public HSSFWorkbook writeXLS(List<ResClassifyEntity> list) {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
/** 创建样式 */
// 创建字体样式
HSSFFont font = wb.createFont();
font.setFontName("Verdana");
font.setBoldweight((short) 100);
font.setFontHeight((short) 300);
font.setColor(HSSFColor.BLUE.index);
// 创建单元格样式
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
style.setFillForegroundColor(HSSFColor.LIGHT_TURQUOISE.index);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
// 设置边框
style.setBottomBorderColor(HSSFColor.RED.index);
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
style.setBorderRight(HSSFCellStyle.BORDER_THIN);
style.setBorderTop(HSSFCellStyle.BORDER_THIN);
style.setFont(font);// 设置字体
String[] titles = { "节点ID", "父节点ID", "节点名称", "节点层数" };
int count = titles.length;
int size = list.size();
for (int i = 0; i < titles.length; i++) {
sheet.setColumnWidth(i, 4000);
}
/** 创建sheet行和列 */
for (int i = 0; i <= size; i++) {
sheet.createRow(i);
HSSFRow rowtitletemp = sheet.getRow(i);
for (int j = 0; j < count; j++) {
rowtitletemp.createCell(j);
}
}
/** 向sheet页中添加数据 */
for (int i = 0; i <= size; i++) {
if (i == 0) {
//添加表头标题
HSSFRow hsRow = sheet.getRow(0);
for (int j = 0; j < titles.length; j++) {
hsRow.getCell(j).setCellStyle(style);
hsRow.getCell(j).setCellValue(titles[j].toString());
}
} else {
//填充数据
ResClassifyEntity resEntity = (ResClassifyEntity) list.get(i-1);
HSSFRow hssfRow = sheet.getRow(i);
for (int j = 0; j < titles.length; j++) {
hssfRow.getCell(j).setCellStyle(style);
if (j == 0) {
hssfRow.getCell(j).setCellValue(resEntity.getNodeId());
} else if (j == 1) {
hssfRow.getCell(j).setCellValue(resEntity.getParentId());
} else if (j == 2) {
hssfRow.getCell(j).setCellValue(resEntity.getNodeName());
} else {
hssfRow.getCell(j).setCellValue(resEntity.getOther());
}
}
}
}
return wb;
}
前台jsp页面:
<SCRIPT type="text/javascript">
js代码
function downLoadDemo() {
window.location.href = "/system/classify/getResClassifyDemo.action";
}
</SCRIPT>
页面类容
<input type="button" id="" value="模板下载" class="input_btn_2"
onclick="downLoadDemo()">
相关推荐
Struts2和Apache POI是Java开发中处理Web应用程序数据导出到Excel的常用工具。Struts2是一个基于MVC设计模式的Java EE框架,它提供了强大的动作控制、拦截器和结果类型等功能,使得Web应用的开发更加简洁高效。而...
Struts2 和 Apache POI 的结合使用主要集中在创建 Web 应用程序中导出 Excel 文件的功能上。Apache POI 是一个 Java 库,允许开发者创建、修改和显示 Microsoft Office 格式的文件,其中包括 Excel。而 Struts2 是一...
本篇文章将深入探讨如何在Struts2框架中使用POI库来导出Excel文件。 首先,我们需要在项目中引入Apache POI库。可以通过Maven或Gradle将其添加到构建文件中。对于Maven,可以在pom.xml文件中添加以下依赖: ```xml...
在这个“struts2+poi导出excel表格完整例子”中,我们将深入探讨这两个工具如何协同工作,实现从Web应用导出数据到Excel电子表格的功能。 首先,让我们了解一下Struts2的工作原理。Struts2基于拦截器(Interceptor...
在Struts2框架中,实现Excel导出的功能主要依赖于Apache POI库,这是一个用于读写Microsoft Office格式档案的Java库。以下将详细介绍如何利用Struts2和POI实现Excel导出。 首先,你需要在项目中引入Apache POI库。...
这个项目"Java Struts2+poi插件 实现导出Excel"就是结合这两个工具,为用户提供一个功能,能够将数据导出到Excel格式的文件中。 首先,让我们详细了解一下Struts2。Struts2的核心是Action,它负责接收请求、处理...
首先,让我们深入理解一下如何使用Struts2和POI来实现Excel的导入导出。 1. **Struts2的Action配置**: 在Struts2中,你需要创建一个Action类来处理用户请求。这个Action类会有一个方法,专门处理导入或导出Excel...
在 Java 开发中,如果你需要导出数据到 Excel,Apache POI 提供了高效的 API 来实现这一功能。在本文中,我们将深入探讨如何使用 POI 组件来创建和操作 Excel 文档。 1. **创建 Excel 文档对象** 创建一个 Excel ...
除了基础的Excel导出,还可以实现更多高级功能,比如合并单元格、插入图表、设置条件格式等。同时,对于更现代的XLSX格式,Apache POI也提供了对应的接口(如XSSFWorkbook)。 通过以上讲解,我们可以看到,结合...
在Java开发中,导出...总结来说,Apache POI与Struts2的结合使用,使得在Java Web应用中实现Excel导出变得简单高效。通过理解这两个库的核心概念和API,你可以定制化地生成符合业务需求的Excel报表,提升工作效率。
在"Struts2+POI实现Excel导出"的场景中,开发者可以利用这两个工具为用户提供数据导出到Excel的功能。以下是一些关键知识点: 1. **Struts2框架**:Struts2是Action Servlet的一种实现,它是基于拦截器的MVC框架,...
本教程将深入探讨如何利用Struts2实现从Oracle数据库导出数据到Excel,以及如何将Excel文件中的数据导入到Oracle。 首先,我们需要了解Oracle数据库的基础知识。Oracle是世界上最广泛使用的商业关系型数据库管理...
描述中提到的“最简单易懂的方式写了导出的步骤”,意味着这个教程或代码示例可能以清晰明了的方式展示了如何在Struts2中使用POI来处理Excel导出。它强调了没有包含复杂的样式设置,使得初学者更容易理解和实现。...
本篇文章将深入探讨如何利用Struts2与POI结合,实现从数据库中获取数据并导出到Excel的功能。 首先,让我们了解Struts2的基本概念。Struts2作为一款强大的MVC框架,它的核心是Action,Action是业务逻辑的执行单元。...
Struts2 和 Apache POI 的整合允许开发者轻松地实现在 Web 应用程序中导出 Excel 文件的功能。Apache POI 是一个 Java 库,它提供了处理 Microsoft Office 格式(如 .xls 和 .xlsx)的能力,包括创建、读取和修改 ...
Struts2 poi 实现从数据库中导出excel表
三、Excel导出 1. 创建Excel工作簿:使用POI创建HSSFWorkbook或XSSFWorkbook对象。 2. 添加工作表:使用Workbook的createSheet()方法添加新的工作表。 3. 写入数据:通过Row和Cell对象将数据写入工作表。创建Row,...
在本案例中,"struts2+poi实现导出Excel文件.docx"指的是使用Struts2框架结合Apache POI库来实现Excel文件的导出功能。Apache POI是一个用于读写Microsoft Office格式档案的Java API,其中包括Excel。 首先,我们来...