如何在用户单击功能区按钮时将数据导入CRM Dynamics 2013
How to import data into CRM Dynamics 2013 when user clicks a ribbon button
我有一个场景,我需要将excel电子表格中的一些数据导入CRM Dynamics,用户会单击上传功能区按钮,然后数据必须导入。有问题,我知道CRM中的数据导入,这就是我想要构建的,我的问题是如何构建它,以便功能区触发导入,我是否构建一个WCF服务来进行导入,然后在ribbon中的JavaScript上调用它,这可能吗?还是作为windows服务?请提供更好的方法。WCF服务可以使用JavaScript或Windows服务从CRM功能区按钮触发吗。
很抱歉有假答案,但这是我第一次使用SO:)。我最近也完成了同样的解决方案。我用ODS解析器和编写器解析Excel数据,然后用XRMServiceTolkit更新记录。它完全是客户端解决方案。您不需要构建任何WCF服务或其他东西。
这是我的样品:
-
将Excel文件传递到对话框中;
-
传递Excel文件后,需要将其数据转换为BinaryString。对于跨浏览器支持(因此readAsBinaryString是不复杂的):
function toBinaryString(buffer) { var binary = ''; var bytes = new Uint8Array(buffer); var length = bytes.byteLength; for (var i = 0; i < length; i++) { binary += String.fromCharCode(bytes[i]); } return binary; }
-
和解析器调用函数(使用ODS解析器):
function handleFile(inputFile) { var files = inputFile.files; var i, f; for (i = 0, f = files[i]; i != files.length; ++i) { var reader = new FileReader(); var name = f.name; reader.onload = function (e) { var resultLog = ""; var data = toBinaryString(e.target.result); var workbook = XLSX.read(data, { type: 'binary' }); if (workbook.Sheets.hasOwnProperty("List")) { var str = workbook.Sheets["List"]; var rowsCount = parseInt(str["!ref"].substring(str["!ref"].indexOf(":") + 2)); for (var i = 2; i <= rowsCount; i++) { var rowNum = i; var aoName = str.hasOwnProperty("A" + i.toString()) ? str["A" + i.toString()].v : "-"; var aoOp = str.hasOwnProperty("B" + i.toString()) ? str["B" + i.toString()].v : "-"; var aoSig = str.hasOwnProperty("C" + i.toString()) ? str["C" + i.toString()].v : "-"; var aoStatus = str.hasOwnProperty("D" + i.toString()) ? str["D" + i.toString()].v : "-"; var aoComment = str.hasOwnProperty("E" + i.toString()) ? str["E" + i.toString()].v : "-"; var validateResult = valdateData(rowNum, aoName, aoOp, aoSig, aoStatus, aoComment); resultLog += validateResult ? validateResult : submitRecord(rowNum, aoName, aoOp, aoSig, aoStatus, aoComment); } } }; reader.readAsArrayBuffer(f);
}}
相关文章:
- 如何将JSON数据导入我的ejs模板
- 将数据从javascript文件导入VB.Net页面
- 如何将csv数据导入netsuite
- 通过内部数组将JSON数据导入D3.js+Google Map
- 应用程序脚本中导入HTML的数据擦除;谷歌表格
- 将Excel/CSV文件中的数据导入angularjs-json对象中
- 将所有angular2捆绑包包含在index.html中会使导入从内存获取数据,而不是再次从服务器请求数据
- jQuery GraphML解析(正在清理导入的数据)
- 高图表数据导入 JSON - 格式
- 将 JSON 数据导入 DOM 错误
- 将 Excel 数据导入到 SharePoint 列表中的查找列
- JavaScript:如何最有效地管理跨两个文件的数据导入
- 如何在用户单击功能区按钮时将数据导入CRM Dynamics 2013
- 将.CSV数据导入Javascript,并在字符串包含数据时运行execute
- 将AJAX数据导入数组.[JavaScript]
- 如何将XML数据导入Google Charts
- 将HTML数据导入JavaScript
- 我如何使用JSON将劳工统计局的数据导入Highcharts
- .json数据导入SqLite数据库
- 将用脚本(seajs)编写的网页中的数据导入Excel