C#的DataTable使用JSON对象赋值

来源:互联网 发布:淘宝开店保证金怎么交 编辑:程序博客网 时间:2024/05/22 06:24

有JSON对象保存了要用于导出到Excel表格文件的内容,如下:


对应的文本格式为:

[["编号","图层名称","预警分析结果数量"],["1","给水管线","45"]]
可解析为一个数组,第一组为列名,第二组起为各行的值。

填充到DataTable的方法如下:

            System.Array allValues = JArray.Parse(strListData).ToArray();            System.Array arrHead = JArray.Parse(allValues.GetValue(0).ToString()).ToArray();            int nColumnCount = arrHead.Length;            if(1>nColumnCount)            {                return "";            }            DataTable dt = new DataTable();            foreach (var headCaption in arrHead)            {                dt.Columns.Add(headCaption.ToString(), typeof(string));            }            int nRowIndex = 1;            int nRowSize = allValues.Length;            for (; nRowIndex < nRowSize; nRowIndex++)            {                System.Array arrValue = JArray.Parse(allValues.GetValue(nRowIndex).ToString()).ToArray();                if (arrValue.Length > 0 && 0 == (arrHead.Length - arrValue.Length))                {                    DataRow dtRow = dt.NewRow();                    int nColIndex=0;                    foreach(var colName in arrHead)                    {                        string strColName = colName.ToString();                        dtRow[strColName] = arrValue.GetValue(nColIndex++).ToString();                    }                    dt.Rows.Add(dtRow);                }            }            dt.AcceptChanges();

填充完成后预览如下:




原创粉丝点击