1:首先到处页面A.jsp 增加导出按钮,btn_export ,调用后台查询方法,出数据封装到list对象
2:方法对应到export.jsp
3:重点
export.jsp 内容
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
------------------------------------------------------------------------------------
自动导出为excel文件
<%
String filename="出库单明细";
filename = new String(filename.getBytes("gb2312"),"ISO8859-1");
response.setHeader("Content-disposition","attachment; filename="+filename+".xls");
%>
-------------------------------------------------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'exportCustReceOil.jsp' starting page</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<table width="100%" border="1" cellspacing="0" cellpadding="0" >
<tr>
<td colspan="27">
<center><h2>出库单明细</h2></center>
</td>
</tr>
=============================列名====================================================
<tr>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >出库单号</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >发货单位</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >发货油库</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >收货单位</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >销售提单编号</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >油品所属</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >油品名称</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >运输方式</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >车船号</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >配送日期</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >出库单类型</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >出库单状态</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >本次提油数量(吨)</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >通知计划数量(吨)</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >本次应结数量(吨)</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >通知剩余数量(吨)</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >前次通知余量(吨)</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >起运检查量(吨)</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >入库铅封号</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >出库铅封号</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >是否红冲</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >红冲单号</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >是否补单</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >是否借贷</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >借贷客户</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >制单人</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >制单时间</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >复核人</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >复核时间</th>
<th scope="col" bgColor="#FFFF00" style="text-align:center;" >备注</th>
</tr>
======================数据封装读取:saleOrderList====================================
<s:iterator value="saleOrderList" id="sndOrder" status="stuts">
<s:if test="#sndOrder.status == '取消'">
<tr bgcolor="GRAY">
</s:if>
<s:elseif test='#sndOrder.coverFlag == "是"'>
<tr bgcolor="BLUE">
</s:elseif>
<s:elseif test="#sndOrder.coverOrderCode != null">
<tr bgcolor="RED">
</s:elseif>
<s:else>
<tr >
</s:else>
<td align="left">
<s:property value="%{#sndOrder.sndCode}"/>
</td>
<td align="left">
<s:property value="%{#sndOrder.pvdOrgName}"/>
</td>
<td align="left">
<s:property value="%{#sndOrder.sendDepotName}"/>
</td>
<td align="left">
<s:property value="%{#sndOrder.pcsOrgName}"/>
</td>
<td align="left">
<s:property value="%{#sndOrder.saleCode}"/>
</td>
<td align="left">
<s:property value="%{#sndOrder.ownerOrgName}"/>
</td>
<td align="left">
<s:property value="%{#sndOrder.oilName}"/>
</td>
<td align="left">
<s:property value="%{#sndOrder.tranType}"/>
</td>
<td align="left">
<s:property value="%{#sndOrder.tranBillNo}"/>
</td>
<td align="left">
<s:property value="%{#sndOrder.bsnsDateStr}"/>
</td>
<td align="left">
<s:property value="%{#sndOrder.sndType}"/>
</td>
<td align="left">
<s:property value="%{#sndOrder.status}"/>
</td>
<td align="right">
<s:if test="#sndOrder.curGetAmt == null">
0
</s:if>
<s:else>
<s:text name="global.format.number">
<s:param value="#sndOrder.curGetAmt"/>
</s:text>
</s:else>
</td>
<td align="right">
<s:if test="#sndOrder.noticeAmt == null">
0
</s:if>
<s:else>
<s:text name="global.format.number">
<s:param value="#sndOrder.noticeAmt"/>
</s:text>
</s:else>
</td>
<td align="right">
<s:if test="#sndOrder.curStlAmt == null">
0
</s:if>
<s:else>
<s:text name="global.format.number">
<s:param value="#sndOrder.curStlAmt"/>
</s:text>
</s:else>
</td>
<td align="right">
<s:if test="#sndOrder.noticeRsdAmt == null">
0
</s:if>
<s:else>
<s:text name="global.format.number">
<s:param value="#sndOrder.noticeRsdAmt"/>
</s:text>
</s:else>
</td>
<td align="right">
<s:if test="#sndOrder.lastNoticeAmt == null">
0
</s:if>
<s:else>
<s:text name="global.format.number">
<s:param value="#sndOrder.lastNoticeAmt"/>
</s:text>
</s:else>
</td>
<td align="right">
<s:if test="#sndOrder.startCheckAmt == null">
0
</s:if>
<s:else>
<s:text name="global.format.number">
<s:param value="#sndOrder.startCheckAmt"/>
</s:text>
</s:else>
</td>
<td align="left">
<s:property value="%{#sndOrder.dptInLeadSeal}"/>
</td>
<td align="left">
<s:property value="%{#sndOrder.dptOutLeadSeal}"/>
</td>
<td align="center">
<s:property value="%{#sndOrder.coverFlag}"/>
</td>
<td align="left">
<s:property value="%{#sndOrder.coverOrderCode}"/>
</td>
<td align="left">
<s:property value="%{#sndOrder.additionalFlag}"/>
</td>
<td align="left">
<s:property value="%{#sndOrder.borrowFlag}"/>
</td>
<td align="left">
<s:property value="%{#sndOrder.borrowCustName}"/>
</td>
<td align="left">
<s:property value="%{#sndOrder.inputer}"/>
</td>
<td align="left">
<s:date name="%{#sndOrder.inputTime}" format="yyyy-MM-dd HH:mm" />
</td>
<td align="left">
<s:property value="%{#sndOrder.checker}"/>
</td>
<td align="left">
<s:date name="%{#sndOrder.checkTime}" format="yyyy-MM-dd HH:mm" />
</td>
<td style="mso-number-format:'\@';" align="left">
<s:property value="%{#sndOrder.remark}"/>
</td>
</tr>
</s:iterator>
</table>
</body>
</html>
可以根据具体业务,进行具体的代码书写。