一、功能:将界面table数据,导出为excel文件保存
二、具体实现:
2.1 jsp
序号
书名
作者
价格
1
|
科幻世界
|
匿名
|
10
|
2
|
语文
|
驾教育出版社
|
23.5
|
3
|
落花
|
张三
|
10.5
|
注:button: <input type="button" value="导出excel" onclick="exportExcel()">
确定 引入调用的正确 js文件
2.2 js
function exportExcel(){
alert("导出");
var archiveaccount = document.forms['arcAccount'];
archiveaccount.submit();
}
2.3 action
public String exportExcel() throws Exception {
List<List<Object>> data = getExportData(); //将表格数据转换为list,此方法省略
String fn = new String(("ArchiveAccount"+new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(new Date())).getBytes(), "ISO-8859-1")+ ".xls"; //设置导出文件名
if(createExcel(fn, data, "统计结果")){
return "success";
}
return "init";
}
/**
* 创建新的Excel 工作簿
* */
public boolean createExcel(String filename, List<List<Object>> data,String sheetName) {
HSSFWorkbook workbook = null;
HSSFSheet sheet = null;
HSSFRow[] rows = null;
HSSFCell[][] cells = null;
workbook = new HSSFWorkbook();
if (sheetName.trim().equals("")) {
sheet = workbook.createSheet("表");
} else {
sheet = workbook.createSheet(sheetName);
}
try {
int row = 0;
int col = 0;
if (data.size() > 0) {
row = data.size();
col = data.get(0).size();
}
rows = new HSSFRow[row];
cells = new HSSFCell[row][col];
for (int i = 0; i < data.size(); i++) {
rows[i] = sheet.createRow((short) i);
for (int j = 0; j < data.get(i).size(); j++) {
cells[i][j] = rows[i].createCell((short) j);
cells[i][j].setCellType(HSSFCell.CELL_TYPE_STRING);
if (data.get(i).get(j) != null
&& !data.get(i).get(j).toString().trim().equals("")) {
cells[i][j].setCellValue(data.get(i).get(j).toString()
.trim());
} else {
cells[i][j].setCellValue("");
}
}
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
HttpUitls.getResponse().setHeader("Content-disposition","attachment; filename=" +filename);
workbook.write(baos);
byte[] ba = baos.toByteArray();
excelStream = new ByteArrayInputStream(ba);
return true;
} catch (Exception e) {
return false;
}
}
2.4 struts.xml
<action name="*ArchiveAccount" class="com.personalize.action.archiveaccount.ArchiveAccountAction" method="{1}">
<result name="init">jspNew/archiveaccount/ArchiveAccount.jsp</result>
<result name="success" type="stream">
<param name="contentType">application/vnd.ms-excel</param> <!-- 注意这里的ContentType -->
<param name="contentDisposition">attachment;filename="${fileName}"</param> <!-- 导出文件名 -->
<param name="inputName">excelStream</param> <!-- 这里需要和Action里的变量名一致 -->
<param name="bufferSize">4096</param>
</result>
</action>
三、执行效果
点击导出弹出文件下载对话框,点击保存,弹出选择路径对话框,选择路径点击保存即可
![](http://my.csdn.net/uploads/201208/15/1345005848_6167.PNG)
分享到:
相关推荐
一、导出Excel 1. **使用Apache POI库**:Apache POI是一个流行的API,用于读取和写入Microsoft Office格式的文件,包括Excel。首先,你需要在项目中引入Apache POI的依赖库。 2. **创建Excel工作簿**:使用`...
若使用Spring MVC或Struts2等框架,可以简化文件操作。它们提供便捷的文件上传下载API,与后端业务逻辑集成,简化开发流程。 8. **性能优化**: 对于大量数据的导入导出,可能需要分批处理以减少内存消耗。同时,...
2. JXL 技术:JXL 技术是 Java Excel API 的缩写,是一种用于读取和写入 Excel 文件的 Java 库。JXL 技术可以用于读取和写入 Excel 文件中的数据。 3. POI 技术:POI 技术是 Apache POI 的缩写,是一种用于操作 ...
这是一个简单的javaweb项目例子,使用的是struts2技术,在后台的action中写好一个list,然后给这个list填充好内容,之后在jsp前台显示,并可以通过导出到excel文件,存储在本地指定的位置。
用户可以通过网页上传Excel文件,程序解析文件内容并存储到数据库,也可以将数据库中的数据导出成Excel文件供用户下载。 5. **文件上传下载**:文件上传功能可能使用了Commons-FileUpload库,它允许用户通过...
生成Excel xls文件的功能,说明项目还包含了文件处理和导出功能。这通常通过Apache POI库来实现,POI是一个用于读写Microsoft Office格式档案的Java API,可以方便地生成和编辑Excel文件。 至于日志管理,项目使用...
14. **struts2*.jar**:Struts 2是一个基于MVC设计模式的Web应用框架,用于简化开发过程。 15. **jasperreports.jar**:用于生成复杂的报表,支持多种输出格式,如PDF、HTML、Excel等。 这些JAR文件构成了Java Web...
在导出Excel文件的场景中,Hibernate可以用来查询数据,然后利用Apache POI库将数据转换成Excel格式,供用户下载。 关于Ajax的二级联动,这是一种常见的前端交互技术。在SSH框架中,使用Ajax可以实现页面的异步更新...
程序测试环境: MyEclipse8.5编程软件 + Win7...查询结果可以导出到excel文 这里是通过xml进行验证的,大家可以输入错误的信息 程序可以检测到 比如输入错误的价格和数量! 系统功能虽然不多 但却把SSH框架都用到了!
他还利用Jbpm实现流程控制,使用Struts进行数据验证,通过POI将数据导出到Excel并支持在线下载打印,同时实现了用户个性化配置和数据挖掘功能。 从这份简历可以看出,这名JavaEE软件工程师具备全面的技术能力和实际...
- 在裕隆佳田商贸综合管理系统项目中,负责前期分析、数据库设计、货运管理模块的开发,运用了Jbpm工作流、Struts2校验、信息复制、文件下载和Excel导出等功能。 - 在另一个未具体描述的项目中,同样涉及了Spring...
- 使用Jbpm实现流程控制,Struts2进行数据校验和文件下载,利用poi导出Excel,amFlash实现报表统计。 5. **个人特点**: - 具备良好的团队合作精神,善于处理常见业务,学习能力强,对新技术有好奇心。 - 工作...
已经达到了可以商用的地步,基本全部实现了整个人力资源管理的所有功能,包括员工档案信息、部门信息、职位变动、工资信息、福利计算、培训信息管理等等,还可以把统计信息导出成pdf、excel等格式的文件,可选择导出...
开发者负责用户注册和登录模块,通过泛型技术优化DAO层,利用POI导出Excel数据。 - **汇友办公自动化系统**:项目涵盖了多种企业办公功能,采用Spring+Struts2+Hibernate框架,结合SpringSecurity进行权限管理,...
- **裕隆佳田商贸综合管理系统**:使用Spring+Hibernate+Struts2+Oracle10g+Jbpm+easyui+poi+amFlash技术栈开发,涉及工作流管理、数据校验、文件下载、Excel导出等功能。在项目中担任关键角色,负责业务模块划分、...
4. `<display:export>`:支持导出表格数据到CSV、Excel或PDF等格式,方便用户下载和分析。 5. `<display:headers>`:显示表头,可以进行分组和排序。 6. `<display:footer>`:生成表格的页脚,常用于显示总计或统计...
开发中可能用到Spring Data JPA简化数据库操作,使用Apache POI处理Excel文件导出,前端可结合React或Angular提供现代交互体验。 7. **网络商城系统**:网络商城涵盖商品展示、购物车、订单处理、支付接口等复杂...
8. **文档预览与打印**: 除了编辑,Java WebOffice 还支持文档预览功能,用户可以查看文档的最终效果,同时也可以直接在浏览器中进行打印操作,无需导出文件。 9. **协同编辑**: 虽然描述中没有明确提及,但通常...