【发布时间】:2014-06-18 03:31:15
【问题描述】:
我正在研究 Asp.net MVC。我想将 Excel 数据导入我的一个网格。我使用ExpandoObject(动态)读取Excel文件,然后将其转换为键/值对。我想知道如何提取 KeyValue 对并从该键/值对中以 JSON 格式生成标题和数据行。
数据将如下所示:
我想将此 KeyValue 转换为 Header 和行,如:
[
{"CustomerName" : "Messi", "City":"Buenos Aires", "Country" :"Argentina"},
{"CustomerName" : "Ronaldo", "City":"Lisbon", "Country" :"Portugal"},
{"CustomerName" : "Persie", "City":"Amsterdam", "Country" :"Netherlands"},
{"CustomerName" : "Ronnie", "City":"London", "Country" :"England"}
]
我用过下面的 jQuery sn-p 但它不起作用:
var arr = [];
$.each(dataReceivedFromServer, function (i, data) {
var d = data.Key;
arr.push({
d: data.Value,
});
});
如果我执行上述操作,它会显示[{"d":"Messi"},{"d":"Buenos Aires"},{"d":"Argentina"} 等等...
简而言之,我想将 Excel 文件中的数据绑定到 KendoUI 网格(所有列都是动态的,因为用户可以选择任何文件)。
有人知道怎么做吗?
更新 #1:
@webkit - 请看下图作为 Console.log 的输出
【问题讨论】:
-
这在很大程度上取决于数据的样子
-
我无法修复列名,因为数据始终是动态的。我对此没有任何控制权。
-
每个循环中的“数据”是什么?为了调试这个,我会控制台 --> for (var i in data) console.log(i," :: ", data[i]); --- 看看你得到了什么。如果可以的话,把它贴在这里。
-
我已经用 Console.log 的结果更新了问题
-
@cr0ss - 谢谢。但是,实际上我想创建 JSON。但是在这个 jsfiddle 中,你定义了我不想要的静态 JSON。
标签: c# jquery asp.net-mvc json excel