ASP.Net导出列表到CSV

问题描述 投票:0回答:1

我有一个使用C#.Net和JQuery Mobile的非常老的asp.net应用程序,我需要添加1个功能:将数据列表导出到csv文件。到目前为止,我已经拥有UI内容挑出来。我有一个jquery按钮,该按钮在请求查询字符串中传递一个参数,以指示在页面加载时我们需要将数据导出到Excel。页面加载事件中还有以下C#。不幸的是,当我在带有Chrome(或任何浏览器)的Visual Studio中运行此代码时,没有提示您保存csv文件。当我使用IE运行它时,出现以下错误:

http://localhost:53748/js/libs/jquery-mobile/jquery.mobile-1.0a4.1.js中第4371列第2371行的未处理异常>

0x800a138f-Javascript运行时错误:无法获取未定义或空引用的属性'_trigger'。“

我不确定我是否正确处理了响应对象。

        if (Request.QueryString["isExportToExcelRequired"] == "true")
        {
            StringWriter sw = new StringWriter();
            sw.WriteLine("\"ItemID\",\"Description\",\"Price\"");

            if (MasterList.Count > 0)
            {
                for (int i = 0; i < MasterList.Count; i++)
                {
                    sw.WriteLine(string.Format("\"{0}\",\"{1}\",\"{2}\"",
                                               MasterList[i].item.ItemID,
                                               MasterList[i].item.ItemDesc,
                                               MasterList[i].P0
                                               ));
                }

                string fileName = string.Format("{0}_{1}", SubClassID, DateTime.UtcNow.ToString("dd-MM-yyyy"));

                // Write response. 
                Response.ClearContent();
                Response.AddHeader("content-disposition", "attachment;filename=" + fileName + ".csv");
                Response.ContentType = "text/csv";
                Response.Write(sw.ToString());
                Response.End();
            }
        }

我有一个使用C#.Net和JQuery Mobile的非常老的asp.net应用程序,我需要添加1个功能:将数据列表导出到csv文件。到目前为止,我已经整理了UI内容。我有一个jQuery ...

c# asp.net .net jquery-mobile
1个回答
0
投票

我会使用csvHelper。这是一个方便的图书馆。自2009年以来一直存在,所以我想您的应用程序还不太旧,无法从该库中受益。以下是从列表到CSV的基本示例。

© www.soinside.com 2019 - 2024. All rights reserved.