风言枫语  

要导出页的前台:
<asp:Button runat="server" ID="btnExport" Text="导出" CssClass="button_sm7"
                        onclick="btnExport_Click" />
后台:
protected void btnSearch_Click(object sender, EventArgs e)
        {
               Response.Redirect("Export.aspx?uname=" + txtUNameS.Text + "&dep=" + this.ddlDepS.SelectedValue
                + "&class=" + this.ddlClassS.SelectedValue + "&iyear=" + this.ddlYearS.SelectedValue);
        }

Export.aspx (显示数据):
<title>哎哎哎导出</title>
       <meta http-equiv="content-type" content="application/ms-excel; charset=UTF-8" />
</head>
<body>
    <form id="form1">
    <%
        string fileName = "哎哎哎.xls";  //导出后的文件名
        Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(fileName));
       
    %>
    <table border="1" cellpadding="0" cellspacing="0">
        <tr align="center" style="font-weight: bold;">
            <td style="width: 60px" rowspan="2">
                序号
            </td>
            <td rowspan="2">
                。。
            </td>
            <td rowspan="2">
                。。
            </td>
            <td rowspan="2">
                。。
            </td>
            <td rowspan="2">
                。。
            </td>
            <td rowspan="2">
                。。
            </td>
            <td rowspan="2">
                。。
            </td>
            <td rowspan="2">
                。。
            </td>
            <td colspan="4" style="text-align: center;">
                。。
            </td>
        </tr>
        <tr>
            <td>
                。。
            </td>
            <td>
                。。
            </td>
            <td>
                。。
            </td>
            <td>
                。。
            </td>
        </tr>
        <asp:Repeater ID="rptStudentFee" runat="server">
            <ItemTemplate>
                <tr>
                    <td>
                        <%#Eval("r_n") %>
                    </td>
                    <td>
                        <%#Eval("Department") %>
                    </td>
                    <td>
                        <%#Eval("CName") %>
                    </td>
                    <td>
                        '<%#Eval("TTCard") %>
                    </td>
                    <td>
                        <%#Eval("UName") %>
                    </td>
                    <td>
                        <%#DigitalCampus.Web.Common.pfunction.getPBCName(DigitalCampus.Web.Common.clsDictionaryData.Gender.ToString(),Eval("Gender").ToString()) %>
                    </td>
                    <td>
                        <%#DigitalCampus.Web.Common.pfunction.GetStrToShortDate(Eval("AdmissionDate").ToString())%>
                    </td>
                    <td>
                        <%#Eval("UName") %>
                    </td>
                    <td>
                        <%#Eval("SubYear")%>
                    </td>
                    <td>
                        <%#Eval("ShouldPayment")%>
                    </td>
                    <td>
                        <%#Eval("ActualPayment")%>
                    </td>
                    <td>
                        <%#Decimal.Parse(Eval("ShouldPayment").ToString()) - Decimal.Parse(Eval("ActualPayment").ToString())%>
                    </td>
                </tr>
            </ItemTemplate>
        </asp:Repeater>
        <asp:Repeater runat="server" ID="rptCount">
            <ItemTemplate>
                <tr style="font-weight: bold;">
                    <td>
                        合计
                    </td>
                    <td>
                        &nbsp;
                    </td>
                    <td>
                        &nbsp;
                    </td>
                    <td>
                        &nbsp;
                    </td>
                    <td>
                        &nbsp;
                    </td>
                    <td>
                        &nbsp;
                    </td>
                    <td>
                        &nbsp;
                    </td>
                    <td>
                        &nbsp;
                    </td>
                    <td>
                        &nbsp;
                    </td>
                    <td>
                       ¥ <%#Eval("ShouldPayment") %>
                    </td>
                    <td>
                       ¥ <%#Eval("ActualPayment")%>
                    </td>
                    <td>
                       ¥ <%#Decimal.Parse(Eval("ShouldPayment").ToString()) - Decimal.Parse(Eval("ActualPayment").ToString())%>
                    </td>
                </tr>
            </ItemTemplate>
        </asp:Repeater>
    </table>
    </form>
</body>
</html>
Export.aspx.cs(查数据):
protected void Page_Load(object sender, EventArgs e)
        {
        
            if (!IsPostBack)
            {
                GetFilesList();
            }
        }

        private void GetFilesList()
        {
            string sort = "";
            string strWhere = " where 1=1 ";
            if (!string.IsNullOrEmpty(Request["uname"]) && Request["uname"] != "TT卡号/身份证/姓名")
            {
                strWhere += " and (vw.UName like '%" + Request["uname"] + "%' or vw.IdentityCard like '%" + Request["uname"] + "%' or vw.TTCard like '%" + Request["uname"] + "%')";
            }
            if (Request["dep"] != "-1")
            {
                strWhere += " and vw.DepName='" + Request["dep"] + "'";
            }
            if (Request["class"] != "-1")
            {
                strWhere += " and vw.ClassName='" + Request["class"] + "'";
            }
            if (Request["iyear"] != "-1")
            {
                strWhere += " and sp.SubYear='" + Request["iyear"] + "'";
            }

            string strSql = @"select row_number() over(order by sp.SubYear,vw.DepName,vw.ClassName,vw.UName) as r_n,sp.*,vw.*
                    from (select StuID,SubYear,isnull(sum(ShouldPayment),0) ShouldPayment,isnull(sum(ActualPayment),0) ActualPayment from StudentShouldpay group by StuID,SubYear) sp inner join dbo.vw_StudentInfo vw on sp.StuID=vw.ID " + strWhere;
            DataTable dt = DbHelperSQL.Query(strSql).Tables[0];
            if (dt.Rows.Count == 0)
            {
                Response.Write("<script>alert('数据不存在,导出失败!');history.back();</script>");
                Response.End();
            }
            rptStudentFee.DataSource = dt;
            rptStudentFee.DataBind();
            if (dt.Rows.Count > 0)
            {
                DataTable dt2 = new DataTable();
                dt2 = DbHelperSQL.Query(@"select isnull(sum(ShouldPayment),0) ShouldPayment,isnull(sum(ActualPayment),0) ActualPayment from (select StuID,SubYear,isnull(sum(ShouldPayment),0) ShouldPayment,isnull(sum(ActualPayment),0) ActualPayment from StudentShouldpay group by StuID,SubYear) sp inner join dbo.vw_StudentInfo vw on sp.StuID=vw.ID " + strWhere).Tables[0];
                rptCount.DataSource = dt2;
                rptCount.DataBind();
            }

        }

 

posted on 2013-08-29 19:12  风言枫语  阅读(262)  评论(0编辑  收藏  举报