ASP.NET MVC 導出CSV文件


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);

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM