asp.net 将数据导出到Excel

参照文章
asp.net前台请参照链接文章
asp.net后台

//导出事件
protected void export_Click(object sender, EventArgs e)
{
   
        //导出所有的检索数据
        message.Text = "";
        //开始时间
        string fromData = fromDate.Text.Trim();
        //结束时间
        string toData = toDate.Text.Trim();
        int flag = SerialnumSelet.ExportUploadResult(fromData, toData);
        if (flag == 0)
        {
            message.Text = "请选择需要导出的数据";
            message.ForeColor = System.Drawing.Color.Red;
        }
}

/// <summary>
/// SerialnumSelet类中的导出方法
/// </summary>
/// <param name="fromData">开始时间</param>
/// <param name="toData">结束时间</param>
public static int ExportUploadResult(string fromData, string toData)
{
 //执行成功标识
 int flag = 0;
 DataTable dt = new DataTable();
 try { 
 string ConStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
 MySqlConnection con = new MySqlConnection(ConStr);
 con.Open();
 string sql = "select (@i:=@i+1) as id,stock,serialNumber from test,(select @i:=0) as it WHERE 1=1 ";
 if (fromData != "")
 {
     sql +="  AND CTime >= '" + fromData + "'";
 }
 if (toData != "")
 {
     sql += "  AND CTime <= '" + toData + "'";
 }
 sql += " ORDER BY CTime desc";
 MySqlCommand com = new MySqlCommand(sql, con);
 MySqlDataReader read = com.ExecuteReader();
 dt.Load(read);

 var dataTable = new DataTable("test");
 dataTable.Columns.Add("序号");
 dataTable.Columns.Add("列名1");
 dataTable.Columns.Add("列名2");

 if (dt.Rows.Count > 0)
 {
     foreach (DataRow dr in dt.Rows)
     {
         var newRow = dataTable.NewRow();
         newRow["序号"] = dr["id"];
         newRow["列名1"] = dr["stock"];
         newRow["列名2"] = dr["serialNumber"];
         dataTable.Rows.Add(newRow);
     }
 }
 else
 {
     return flag;
 }
//该方法实现请转至参照文章
 ExcelUtil.ExportExcelFile(System.Web.HttpContext.Current.Response, "自定义导出Excel名称" + DateTime.Now.ToString("yyyyMMddHHmmss"), dataTable);
//执行成功
 flag = 1;
 }
 catch (Exception ex)
 {
     WriteLog(ex.ToString());
 }
 return flag;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值