使用ASP.NET MVC将字符串转换为DataTable

萨拉

我正在尝试使用以下方法将字符串转换为DataTable,但这没有用

public static DataTable convertStringToDataTable(string data)
    {
        DataTable dataTable = new DataTable();
        bool columnsAdded = false;
        foreach (string row in data.Split('\n'))
        {
            DataRow dataRow = dataTable.NewRow();
            foreach (string cell in row.Split(','))
            {
                string[] keyValue = cell.Split('"');
                if (!columnsAdded)
                {
                    DataColumn dataColumn = new DataColumn(keyValue[0]);
                    dataTable.Columns.Add(dataColumn);
                }
                dataRow[keyValue[0]] = keyValue[1];
            }
            columnsAdded = true;
            dataTable.Rows.Add(dataRow);
        }
        return dataTable;
    }

包含数据字符串的代码:

StringWriter sw = new StringWriter();
                    sw.WriteLine("\"NumClient\",\"Raisons Sociale\",\"DateDocument\",\"NumCommandeNAV\",\"Réference\",\"Designation\",\"QteCommandée\",\"QteLivrée\",\"QteAnnulée\",\"Reste à Livrer\",\"Type Disponibilite\",\"DateDisponibilite\"");

                    var EnTete =
                        db.AURES_GROS_EnTeteCommande.Where(e => e.NumCommandeNAV != " " && e.NumCommandeNAV != "_")
                            .OrderBy(x => x.CodeMagasin)
                            .ThenBy(s => s.NumClient)
                            .ThenBy(c => c.DateDocument)
                            .OrderByDescending(x => x.NumCommandeNAV)
                            .ToList();

                    foreach (var element in EnTete)
                    {
                        string statut = RecuperStatut(element.NumCommandeNAV);
                        if (statut == "A livrer")
                        {
                            Raison = context.Users.First(x => x.No_ == element.NumClient).RaisonSociale;
                            lignes = db.AURES_GROS_LigneCommande.Where(x => x.NumDocument == element.NumDocument).ToList();

                        foreach (var elt in lignes)
                        {
                            sw.WriteLine(string.Format("\"{0}\",\"{1}\",\"{2}\",\"{3}\",\"{4}\",\"{5}\",\"{6}\",\"{7}\",\"{8}\",\"{9}\",\"{10}\",\"{11}\"",
                                            element.NumClient,
                                             Raison,
                                             element.DateDocument,
                                             element.NumCommandeNAV,
                                             elt.CodeArticle,
                                             elt.Designation,
                                             elt.Quantite,
                                             0,
                                             elt.QteANNULEE,
                                             elt.Quantite,
                                             element.Couleur,
                                             elt.DateDisponibilite
                                             ));
                            }
                        }
                    }
                    DataTable t = convertStringToDataTable(sw.ToString());

                    Response.ClearContent();
                    Response.ClearHeaders();
                    Response.BufferOutput = true;
                    Response.ContentType = "text/excel";
                    Response.AddHeader("Content-Disposition", "attachment; filename=Reliquat" + DateTime.Now.ToString("yyyy_MM_dd") + ".csv");
                    Response.Write(t);
                    Response.Flush();
                    Response.Close();
                    //Response.End();

在此代码中,我希望自己将数据导出到Excel文件

任何人都有解决方案,谢谢,

斯克罗比

您可以将列foreach转换为for循环。

public static DataTable convertStringToDataTable(string data)
    {
        DataTable dataTable = new DataTable();
        bool columnsAdded = false;
        foreach (string row in data.Split('\n'))
        {
            DataRow dataRow = dataTable.NewRow();
            string[] cell = row.Split(',');
            for (int i = 0; i < cell.Length; i++)
            {
                string[] keyValue = cell[i].Split('"');
                if (!columnsAdded)
                {
                    DataColumn dataColumn = new DataColumn();
                    dataTable.Columns.Add(dataColumn);
                }
                dataRow[i] = keyValue[1];
            }
            columnsAdded = true;
            dataTable.Rows.Add(dataRow);
        }
        return dataTable;
    }

但是,如果您的split string [] keyValue = cell.Split('“');未返回您期望的结果,则可能需要进一步调查。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将字符串生成器转换为tagbuilder asp.net mvc 4

来自分类Dev

将@ Html.Raw转换为ASP.NET MVC 4 Razor中的字符串

来自分类Dev

将字符串从Excel文件ASP.NET MVC转换为日期

来自分类Dev

模型绑定时,如何使asp.net MVC将字符串数组转换为值类型数组?

来自分类Dev

如何在ASP.NET MVC 4中将查询字符串参数转换为路由

来自分类Dev

asp.net webapi:错误字符串无法将字符串转换为http响应消息

来自分类Dev

使用 ASP.NET Core 2 表单输入验证将 Razor 视图转换为字符串

来自分类Dev

将字符串转换为asp .net中的日期时间格式

来自分类Dev

在asp.net中上传文件时将byte []转换为字符串

来自分类Dev

为什么将动作参数转换为ASP Net Core中的查询字符串

来自分类Dev

ASP.NET无法将参数值从字符串转换为DateTime

来自分类Dev

如何将指定属性的lambda表达式转换为与asp.net mvc兼容的“名称”字符串来表示相同的内容?

来自分类Dev

实体框架 asp.net mvc5-无法将 lambda 表达式转换为类型“字符串”,因为它不是委托类型

来自分类Dev

使用.NET系统将Char数组转换为字符串?

来自分类Dev

如何以HH:mm格式提取当前时间而不在asp.net mvc中转换为字符串?

来自分类Dev

将日期时间从数据表转换为字符串C#ASP.NET的特定格式

来自分类Dev

将结果转换为base64字符串的图像保存在asp.net核心中

来自分类Dev

如何使用asp.net vb将保存在单独变量中的字符串日期转换为日期?month变量以文本格式写出

来自分类Dev

如何使用json.net WCF Rest Service将数据表转换为json字符串输出

来自分类Dev

如何使用json.net WCF Rest Service将数据表转换为json字符串输出

来自分类Dev

使用JSON.Net将XML转换为JSON字符串后未获得预期的结果

来自分类Dev

使用数据表字段将数组中的字符串选择从 VB.net 代码转换为 C#

来自分类Dev

在插入数据库ASP.NET VB.NET之前将文本框字符串转换为Integer

来自分类Dev

在插入数据库ASP.NET VB.NET之前将文本框字符串转换为Integer

来自分类Dev

asp net core viewmodel参数转换为字符串url

来自分类Dev

在asp.net核心中,空字符串是否转换为NULL?

来自分类Dev

asp net core viewmodel参数转换为字符串url

来自分类Dev

在ASP.NET C#中将数组转换为JSON字符串

来自分类Dev

ASP.NET MVC 使用引号转义问题将字符串传递给 JSON.parse

Related 相关文章

  1. 1

    将字符串生成器转换为tagbuilder asp.net mvc 4

  2. 2

    将@ Html.Raw转换为ASP.NET MVC 4 Razor中的字符串

  3. 3

    将字符串从Excel文件ASP.NET MVC转换为日期

  4. 4

    模型绑定时,如何使asp.net MVC将字符串数组转换为值类型数组?

  5. 5

    如何在ASP.NET MVC 4中将查询字符串参数转换为路由

  6. 6

    asp.net webapi:错误字符串无法将字符串转换为http响应消息

  7. 7

    使用 ASP.NET Core 2 表单输入验证将 Razor 视图转换为字符串

  8. 8

    将字符串转换为asp .net中的日期时间格式

  9. 9

    在asp.net中上传文件时将byte []转换为字符串

  10. 10

    为什么将动作参数转换为ASP Net Core中的查询字符串

  11. 11

    ASP.NET无法将参数值从字符串转换为DateTime

  12. 12

    如何将指定属性的lambda表达式转换为与asp.net mvc兼容的“名称”字符串来表示相同的内容?

  13. 13

    实体框架 asp.net mvc5-无法将 lambda 表达式转换为类型“字符串”,因为它不是委托类型

  14. 14

    使用.NET系统将Char数组转换为字符串?

  15. 15

    如何以HH:mm格式提取当前时间而不在asp.net mvc中转换为字符串?

  16. 16

    将日期时间从数据表转换为字符串C#ASP.NET的特定格式

  17. 17

    将结果转换为base64字符串的图像保存在asp.net核心中

  18. 18

    如何使用asp.net vb将保存在单独变量中的字符串日期转换为日期?month变量以文本格式写出

  19. 19

    如何使用json.net WCF Rest Service将数据表转换为json字符串输出

  20. 20

    如何使用json.net WCF Rest Service将数据表转换为json字符串输出

  21. 21

    使用JSON.Net将XML转换为JSON字符串后未获得预期的结果

  22. 22

    使用数据表字段将数组中的字符串选择从 VB.net 代码转换为 C#

  23. 23

    在插入数据库ASP.NET VB.NET之前将文本框字符串转换为Integer

  24. 24

    在插入数据库ASP.NET VB.NET之前将文本框字符串转换为Integer

  25. 25

    asp net core viewmodel参数转换为字符串url

  26. 26

    在asp.net核心中,空字符串是否转换为NULL?

  27. 27

    asp net core viewmodel参数转换为字符串url

  28. 28

    在ASP.NET C#中将数组转换为JSON字符串

  29. 29

    ASP.NET MVC 使用引号转义问题将字符串传递给 JSON.parse

热门标签

归档