webform数据导出

把数据放到一个泛型集合里,再把泛型集合里面的数据放到一个table中,设置好文件路径,然后进行文件读取,最后供用户下载。

数据导出放在一个按钮中就可以了

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.IO;

public partial class Default3 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Click += Button1_Click;
    }

    void Button1_Click(object sender, EventArgs e)
    {
        //1、数据源 - 泛型集合 - 数据库查询
        using (Data0720DataContext con = new Data0720DataContext())
        {
            List<Users> ulist = con.Users.ToList();

            //2、设置导出格式
            StringBuilder str = new StringBuilder();

            str.Append("<table>");
            str.Append("<tr>");
            str.Append("<td>用户名</td>");
            str.Append("<td>密码</td>");
            str.Append("<td>昵称</td>");
            str.Append("<td>性别</td>");
            str.Append("<td>生日</td>");
            str.Append("<td>民族</td>");
            str.Append("</tr>");

            foreach (Users u in ulist)
            {
                str.Append("<tr>");
                str.Append("<td>" + u.UserName + "</td>");
                str.Append("<td>" + u.PassWord + "</td>");
                str.Append("<td>" + u.NickName + "</td>");
                str.Append("<td>" + (u.Sex.Value ? "" : "") + "</td>");
                str.Append("<td>" + u.BirthdayStr + "</td>");//属性扩展了
                str.Append("<td>" + u.Nation1.NationName + "</td>");
                str.Append("</tr>");
            }
            str.Append("</table>");

            //3、生成文件 DownLoad文件夹与default文件平级
            string path = "DownLoads/" + DateTime.Now.ToString("yyyy年MM月dd日") + "Users数据表.xlsx";//设置路径和名称

            StreamWriter sw = new StreamWriter(Server.MapPath(path));//输出流
            sw.Write(str);//输出内容
            sw.Close();//关闭流

            //4、给用户下载
            Response.Redirect(path);
        }
    }
}
View Code

完!!

posted @ 2016-11-17 20:31  冲天小肥牛  阅读(344)  评论(0编辑  收藏  举报