posted on 2008-06-23 20:14
云自无心水自闲 阅读(10676)
评论(15) 所属分类:
java 、
心得体会 、
struts2
在利用网页展示查询结果,经常会遇到要求导出成excel的需求。采用这种方法可以定制输出的格式和内容(还不支持合并单元格和公式),生成真正的excel格式(不是csv)的excel。
一、struts.xml
"-//apache software foundation//dtd struts configuration 2.0//en"
"http://struts.apache.org/dtds/struts-2.0.dtd">
application/vnd.ms-excel
excelstream
filename="standard.xls"
1024
二、struts2的 action
package demo;
public class excelaction {
private inputstream excelstream; // 需要生成getter和setter
public string execute() throws exception {
stringbuffer excelbuf = new stringbuffer();
excelbuf.append("bookname").append("\t").append("year").append("\t").append("author").append("\n");
excelbuf.append("thinking in java").append("\t").append("2001").append("\t").append("eckel").append("\n");
excelbuf.append("spring in action").append("\t").append("2005").append("\t").append("rod").append("\n");
string excelstring = excelbuf.tostring();
logger.debug("result excel string: " excelstring);
excelstream = new bytearrayinputstream(excelstring.getbytes(), 0, excelstring.length());
return "excel";
}
// getter and setter
...
}
三、jsp页面
<%@ taglib prefix="s" uri="/struts-tags"%>