博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET MVC 导出CSV文件
阅读量:5046 次
发布时间:2019-06-12

本文共 2502 字,大约阅读时间需要 8 分钟。

ASP.NET MVC   导出CSV文件、直接贴代码

/// <summary>

/// ASP.NET MVC导出CSV文件Demo1

/// </summary>

/// <returns></returns>

public ActionResult ExportDemo1()

{

    System.IO.MemoryStream output = new System.IO.MemoryStream();

    System.IO.StreamWriter writer = new System.IO.StreamWriter(output, System.Text.Encoding.UTF8);

    writer.Write("姓名,性别,年龄");//输出标题,逗号分割(注意最后一列不加逗号)

    writer.WriteLine();

 

    //输出内容

    for (int i = 0; i < 10; i++)

    {

        writer.Write("用户" + i + ",\"");//第一列

        writer.Write("男\",\"");//中间列

        writer.Write("20\",");//最后一列

        writer.WriteLine();

    }

 

    writer.Flush();

    output.Position = 0;

    return File(output, "text/comma-separated-values", "demo1.csv");

}

 

/// <summary>

/// ASP.NET MVC导出CSV文件Demo2

/// </summary>

/// <returns></returns>

public ActionResult ExportDemo2()

{

    //定义模版(标题、内容字段、格式化参数)

    string[,] template = new string[,] {

        { "姓名,", "Name" ,"{0}"}

        , { "性别,", "Sex","{0}" }

        , { "年龄", "Age" ,"{0}"}

    };

 

    System.IO.MemoryStream output = new System.IO.MemoryStream();

    System.IO.StreamWriter writer = new System.IO.StreamWriter(output, System.Text.Encoding.UTF8);

 

    //输出标题

    int lenght = template.GetLength(0);

    for (int i = 0; i < lenght; i++)

        writer.Write(template[i, 0]);

    writer.WriteLine();

 

    //输出内容

    List<User> lstUser = GetUsers();

    if (lstUser != null)

    {

        foreach (User user in lstUser)

        {

            for (int i = 0; i < lenght; i++)

            {

                writer.Write(string.Format(template[i, 2]

                            , user.GetType().GetProperty(template[i, 1]).GetValue(user, null)));

 

                if (i == 0)

                    writer.Write(",\"");

                else if (i == lenght - 1)

                    writer.WriteLine();

                else if (i == lenght - 2)

                    writer.Write("\",");

                else

                    writer.Write("\",\"");

            }

        }

    }

    writer.Flush();

    output.Position = 0;

    return File(output, "text/comma-separated-values", "demo2.csv");

}

http://blog.csdn.net/moyanruo/article/details/18699081

http://blog.csdn.net/binyao02123202/article/details/6865033

ashx 页面:

 StringWriter writer = new StringWriter();             //输出内容

            for (int i = 0; i < 10; i++)

            {

                writer.Write("用户" + i + ",\"");//第一列

                writer.Write("男\",\"");//中间列

                writer.Write("20\",");//最后一列

                writer.WriteLine();

            }

            writer.Close();

            HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=test.csv");

            HttpContext.Current.Response.ContentType = "application/ms-excel";

            HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");

            HttpContext.Current.Response.Write(writer);

            HttpContext.Current.Response.End();      

JS 导出方法  

     $("#SearchTitle").click(function () {

        var url= UrlBase + 'Admin/Activity/Export';
        window.open(url);

}

转载于:https://www.cnblogs.com/hanxingli/p/5519240.html

你可能感兴趣的文章
日常报错
查看>>
list-style-type -- 定义列表样式
查看>>
hibernate生成表时,有的表可以生成,有的却不可以 2014-03-21 21:28 244人阅读 ...
查看>>
mysql-1045(28000)错误
查看>>
Ubuntu 编译出现 ISO C++ 2011 不支持的解决办法
查看>>
1.jstl c 标签实现判断功能
查看>>
Linux 常用命令——cat, tac, nl, more, less, head, tail, od
查看>>
超详细的Guava RateLimiter限流原理解析
查看>>
VueJS ElementUI el-table 的 formatter 和 scope template 不能同时存在
查看>>
Halcon一日一练:图像拼接技术
查看>>
Swift - RotateView
查看>>
iOS设计模式 - 中介者
查看>>
centos jdk 下载
查看>>
HDU 1028 Ignatius and the Princess III(母函数)
查看>>
(转)面向对象最核心的机制——动态绑定(多态)
查看>>
token简单的使用流程。
查看>>
django创建项目流程
查看>>
UIActionSheet 修改字体颜色
查看>>
Vue 框架-01- 入门篇 图文教程
查看>>
Spring注解之@Lazy注解,源码分析和总结
查看>>