zoukankan      html  css  js  c++  java
  • 通过遍历类向Aspose.cell模板中插入数据

    /// <summary>
    /// 遍历类所有字段
    /// </summary>
    /// <param name="designer">aspose.cell中WorkbookDesigner对象</param>
    /// <param name="jObject">Newtonsoft.Json 中 JObject.FromObject(entity)</param>
    /// <param name="className">当前jObject名称,默认 t</param>
    public static void ForeachEntityProperties(WorkbookDesigner designer, JObject jObject, string className = "t")
    {

    foreach (var item in jObject)
    {
    string propertyName = item.Key;
    var propertyValue = item.Value;
    if (item.Value.Type == JTokenType.String)
    {
    designer.SetDataSource(className + "." + propertyName, propertyValue);
    }
    else if (item.Value.Type == JTokenType.Array)
    {
    var arr = propertyValue as JArray;
    designer.SetDataSource(ToDataTable(arr, propertyName));
    }
    else if (item.Value.Type == JTokenType.Object)
    {
    ForeachEntityProperties(designer, propertyValue as JObject, propertyName);
    }

    }

    }
    /// <summary>
    /// 将JArray转换为DataTable
    /// </summary>
    /// <param name="jArray"></param>
    /// <param name="tableName">DataTable表名称 默认 dt</param>
    /// <returns></returns>
    public static DataTable ToDataTable(JArray jArray, string tableName = "dt")

    {
    DataTable result = new DataTable(tableName);
    if (jArray != null && jArray.Count > 0)
    {
    var jObject = jArray[0] as JObject;
    if (jObject != null)
    foreach (var item in jObject)
    {
    result.Columns.Add(item.Key, typeof(string));
    }
    foreach (var t in jArray)
    {
    ArrayList tempList = new ArrayList();
    var items = t as JObject;
    if (items != null)
    foreach (var item in items)
    {
    object obj = item.Value;
    tempList.Add(obj);
    }
    object[] array = tempList.ToArray();
    result.LoadDataRow(array, true);
    }
    }
    return result;

    }

  • 相关阅读:
    ArcGIS学习记录—union、merge及append的区别
    ArcGIS学习记录—属性表的编辑与修改
    ASP.NET应用程序和ASP.NET网站所共有的文件: App_Browsers 等
    C# 文件夹操作
    远程重启服务器
    SQL省市区三级表结构
    c#提出中文首字母
    javascript遍历Json对象个数
    原生javascript添加引用js文件
    简单的div蒙层
  • 原文地址:https://www.cnblogs.com/cb521413/p/9441493.html
Copyright © 2011-2022 走看看