导出Excel -----选择想要导出的列



<body>

    <form id="form1" runat="server">

 <div id="light" class="black_content" style="height:440px;width:1150px;display:none;"> 
      
             <div id="light" class="black_content" style="height:440px;width:1150px;display:none;">
          <table>
          <tr><td class="tdhead_search" colspan="5">自定义导出Excel</td></tr>
          <tr>
          <td class="tdhead_search" colspan="3" class="tdhead_search">
         <asp:CheckBox ID="CheckAll" runat="server"  Text="全选" οnclick="javascript: SelectAllCheckboxes(this);"  />
          </td>
          <td class="tdhead_search" style="text-align:center;" class="tdhead_search">
              <asp:Button ID="Button1" runat="server"  class="inp150" Text="确定/导出Excel" οnclick="btnToExcel_Click"/>
          </td>
          <td class="tdhead_search" style="text-align:center;" class="tdhead_search"><asp:Button ID="uduf"  class="inp" runat="server" Text="关闭" /></td>
        
          </tr> <tr><td class="tdhead_search" colspan="5" class="tdhead_search"></td></tr>
              <tr>
                  <td class="tdhead_search"><asp:CheckBox ID="ChkTask1" runat="server" />Region/大区</td>
                  <td class="tdhead_search"><asp:CheckBox ID="ChkTask2" runat="server" />Area/区域</td>
                  <td class="tdhead_search"><asp:CheckBox ID="ChkTask3" runat="server" />City/城市</td>
                  <td class="tdhead_search"><asp:CheckBox ID="ChkTask4" runat="server" />Applicant/申请人</td>
                  <td class="tdhead_search"><asp:CheckBox ID="ChkTask5" runat="server" />Submit Date/申请日期</td>
              </tr>
              <tr>
                  <td class="tdhead_search"><asp:CheckBox ID="ChkTask6" runat="server" />Budget Owner</td>
                  <td class="tdhead_search"><asp:CheckBox ID="ChkTask7" runat="server" />ANP approval end date/ANP审批结束日期</td>
                  <td class="tdhead_search"><asp:CheckBox ID="ChkTask8" runat="server" />SAP approval end date/SAP审批结束日期</td>
                  <td class="tdhead_search"><asp:CheckBox ID="ChkTask9" runat="server" />ANP Closing date/ANP关闭日期</td>
                  <td class="tdhead_search"><asp:CheckBox ID="ChkTask10" runat="server" />Spending Type/费用类型</td>
              </tr>
          </table>
          </div>
          </div>
    </form>
</body>

--------------------------------------------------------------------

<script type="text/javascript">
        //弹出选择列名
        $(function () {
            $("#imya").click(function () {
                $("#light").show();
            });
        });
        $(function () {
            $("#uduf").click(function () {
                $("#light").hide();
            });
        });

 </script>

------------------------后台----------------------------------

protected void btnToExcel_Click(object sender, EventArgs e)
    {
        string strSql = "select ";

if (this.ChkTask1.Checked==true)
        {  strSql += " FDSMRegionCode as 'Region/大区' ";  }
        if (this.ChkTask2.Checked == true)
        { strSql += ", FDSMClusterCode as 'Area/区域' "; }
        if (this.ChkTask3.Checked == true)
        { strSql += ",  FCity as 'City/城市'  "; }
        if (this.ChkTask4.Checked == true)
        { strSql += ", FRequestName as 'Applicant/申请人' "; }
        if (this.ChkTask5.Checked == true)
        { strSql += ", Convert(varchar(10),FFirstAppTime,23) as 'Submit Date/申请日期' "; }
        if (this.ChkTask6.Checked == true)
        { strSql += ", FBudgetOwner as 'Budget Owner'  "; }
        if (this.ChkTask7.Checked == true)
        { strSql += ", Convert(varchar(10),FANPEndDate,23) as 'ANP approval end date/ANP审批结束日期'  "; }
        if (this.ChkTask8.Checked == true)
        { strSql += ", Convert(varchar(10),FApproveEndTime,23) as 'SAP approval end date/SAP审批结束日期'"; }
        if (this.ChkTask9.Checked == true)
        { strSql += ", Convert(varchar(10),FCloseDate,23) as 'ANP Closing date/ANP关闭日期' "; }
        if (this.ChkTask10.Checked == true)
        { strSql += ", FSpendingType as 'Spending Type/费用类型'"; }

if ( strSql == "select ")
        { Response.Write("<Script Language=JavaScript>alert('请选择列名!');</Script>"); }
        else
        {
        strSql += "From VW_FM_ANP_ActivityTracking WHERE 1=1";
        strSql += "order by taskid desc, FActivityCode desc";
        ExportToExcel.ExportExcelFromDs(DbHelperSQL.Query(strSql).Tables[0], "Full report", new double[] { 150, 100, 100, 80, 80, 80, 80, 80, 80, 80 });
    }
    }


-------------------------------------------------------------

public static void ExportExcelFromDs(DataTable dt, string titleName, double[] titleWidths)
    {
        StringBuilder builder = new StringBuilder();
        try
        {
            for (int i = 0; i < dt.Columns.Count; i++)
            {
                if (i > 0)
                {
                    builder.Append("\t");
                }
                builder.Append(dt.Columns[i].ColumnName.Trim());
            }
            builder.Append("\n");
            for (int j = 0; j < dt.Rows.Count; j++)
            {
                for (int k = 0; k < dt.Columns.Count; k++)
                {
                    if (k > 0)
                    {
                        builder.Append("\t");
                    }
                    builder.Append(dt.Rows[j][k].ToString());
                }
                builder.Append("\n");
            }
        }
        catch (Exception)
        {
        }
        string str = DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
        HttpContext current = HttpContext.Current;
        current.Response.ContentType = "application/vnd.ms-excel";
        current.Response.ContentEncoding = Encoding.GetEncoding("GB2312");
        current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + str);
        current.Response.Write(builder.ToString());
        current.Response.Flush();
        current.Response.End();
    }




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值