初学者上手C# 盘他.NET开发之数据的导出(CSV格式)

    技术2023-11-16  100

    1.定义一个方法 GetAllStudent()用 相当于Service层
    public static List<Student> GetAllStudent(StudentDetail model) { using(var db=new ManagementEntities()){ db.Configuration.ProxyCreationEnable =false; //SQL 语句 var query= from a in db.**** join b in db.**** on a.X equals b.y where a.X==**** select new StudentData(){ ....... ...... .... } } return query; }
    2.GetAllStudent()方法进行封装 封装成为一个接口 相当于 Controller层
    public Result<List<StudentData>> Get(Model model){ var list = StudentService.GetAllStudent(model) return new Result<List<StudentData>>(list); }
    3.前端页面需要提供一个用来点击的按钮 绑定点击事件
    tbar:[{ text:'数据导出', style:..... handler:this.export, }] //定义一个点击导出的方法 export:funcation(){ var store=model.StudenData.data; ...... ..... .. url: apiUrl+'../../ExportList.aspx', ebctyp:'multipart/form-data', method:'post', parms:store.data, success:funcation(){ } }
    4. 1 2 3准备完之后就开始进行数据导出(使用ASPX)
    public partial class ExportDevelopHistoryList : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //数据加载 var model = studenModel.StudentData(); model.Page = 1; model.Limit = 5000; //获取数据源 List<studentData> list= Studentservice.GetAllStudent(model); //对数据进行封装 StringBuilder str = GetStudentData(list); //清空缓冲区 防止数据出错 this.Response.Clear(); //设置输出流的编码集 this.Response.ContentEncoding = System.Text.Encoding.Default; //设置输出文件的类型 this.Response.ContentType = "text/csv"; //设置输出文件的名称 this.Response.AppendHeader("content-disposition", "attachment; filename=" + string.Format("文件名称", DateTime.Now) + ".csv"); //将数据写入文件中 this.Response.Write(sb); //读写数据完成 请求停止 this.Response.End(); private static StringBuilder GetStudentData(List<StudentData> list) { StringBuilder str = new StringBuilder(); string separate = ","; str.Append("姓名" + separate); str.Append("年龄" + separate); str.Append("性别" + separate); str.Append("年级" + separate); str.Append("班级" + separate); str.Append(Environment.NewLine); foreach (var item in list) { str.Append(item.Name+ separate); str.Append(item.Age+ separate); str.Append(item.Sex+ separate); str.Append(item.YearClass+ separate); str.Append(item.Class+ separate); str.Append(Environment.NewLine); } str.Remove(str.Length - 2, 1); return str; }
    到这里数据的导出(CSV格式) 就算是成功了
    Processed: 0.011, SQL: 9