struts2中有對導出excel表格的支持,所以開發起來比較容易,主要的步驟有三點:
1.配置文件:
<action name="excel" class="userAction" method="excel" >
<result name="excel" type="stream">
<!-- 注意這裡的ContentType -->
<param name="contentType">application/vnd.ms-excel</param>
<!-- 這裡需要和Action裡的變量名一致-->
<param name="inputName">excelStream</param>
<param name="contentDisposition">filename="user.xls"</param>
<param name="bufferSize">1024</param>
</result>
</action>
2.action中的函數為excel如下:
public String excel() throws Exception {
StringBuffer excelBuf = new StringBuffer();
excelBuf.append("編號").append("\t").append("登錄名稱").append("\t").append("聯繫人").append("\t").append ("電話").append("\t").append("Email").append("\t").append("所屬單位").append("\n");
List list1 = mobjUserService.findAllUser();
for (int i = 0; i < list1.size(); i++) {
User user = (User) list1.get(i);
excelBuf.append(user.getUserId()).append("\t").append(user.getLoginName()).append("\t").append(user.getContactPerson()).append("\t ").append(user.getPhone()).append("\t").append(user.getEmail()).append("\t").append(user.getRecommendCompany().getCompanyName()). 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";
}
3.jsp中對應:
<td width="10%">
<input name="Submit" type="button" class="button"
onClick="javaScript:sysReturn('<c:out value="${ctx}"/>/excel.action');"
value="<s:text name="導出excel"/>">
</td>
比較簡單好用就不詳細描述了。
2010年7月26日 星期一
Struts2 Excel export
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言