《C6表单Excel文件数据导入方法.pptx》由会员分享,可在线阅读,更多相关《C6表单Excel文件数据导入方法.pptx(12页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、,C6表单Excel文件导入方法,,C6产品部,JavaScript前端导入,导入功能兼容性,导入演示,3,代码实现说明,4,引用JS库:xlsx.full.min.jsGitHub:https:/ 】修改对应位置,如下图:这样就把xlsx.full.min.js引入到表单中(这样操作后所有的表单都可以调用);,代码实现说明,www.islide.cc,5,C6中表单调用(采用自定义函数进行调用):,代码实现说明,www.islide.cc,6,C6中表单调用(函数ImportDataForIE):,代码实现说明,7,C6中表单调用(函数ImportDataForChrome):,代码示例(可
2、拷贝),8,function ImportExcel() var obj = document.getElementById(excelUpload); /excelUpload为上传控件的ID if (!obj.files) /判断有没有选择文件 alert(请选择要导入的文件!); return; var url = obj.value; var suffix = url.substring(url.lastIndexOf(.) + 1, url.length); if (!(suffix = xls | suffix = xlsx) /判断是否上传的文件为EXCEL文件 return a
3、lert(选择的文件类型不正确!); if (!window.ActiveXObject | ActiveXObject in window) /IE浏览器判断 ImportDataForIE(url);/IE浏览器调用的导入方法 else /非IE下浏览器调用的导入方法,下面的代码不用修改具体修改是的函数ImportDataForChrome var f = obj.files0; var reader = new FileReader(); reader.onload = function (e) var data = e.target.result; wb = XLSX.read(dat
4、a, type: binary ); var excelJson = XLSX.utils.sheet_to_json(wb.Sheetswb.SheetNames0); ImportDataForChrome(excelJson); ; reader.readAsBinaryString(f); ,代码示例(可拷贝),9,function ImportDataForIE(obj) DsSub1.Delete(); var filePath = obj; var oXL = new ActiveXObject(Excel.application); var oWB = oXL.Workbook
5、s.open(filePath); oWB.worksheets(1).select(); var oSheet = oWB.ActiveSheet; try var jtgj = ; var je = ; var djzs = ; var ccsy = ; var cfrq = ; var InvID = ; var i = 2; while (jtgj != null) DsSub1.Append(); jtgj = oSheet.Cells(i, 1).value; je = oSheet.Cells(i, 2).value; djzs = oSheet.Cells(i, 3).valu
6、e; ccsy = oSheet.Cells(i, 4).value; cfrq = oSheet.Cells(i, 5).value; DsSub1.Fields.Fieldjtgj.Value = (jtgj) ? jtgj : ; DsSub1.Fields.Fieldje.Value = (je) ? je : ; DsSub1.Fields.Fielddjzs.Value = (djzs) ? djzs : ; DsSub1.Fields.Fieldccsy.Value = (ccsy) ? ccsy : ; DsSub1.Fields.Fieldcfrq.Value = (cfrq
7、) ? cfrq : ; DsSub1.Fields.FieldInvID.Value = (InvID) ? InvID : ; DsSub1.bEdit = true; DsSub1.Update(不检查); DsToGrid(DsSub_Grid1, 否); i+; DsSub1.Delete(); alert(导入完成!); catch (e) alert(导入失败!); oXL.Quit();,代码示例(可拷贝),10,function ImportDataForChrome(strJson) DsSub1.Delete(); try if (strJson.length 0) fo
8、r (var i = 0; i strJson.length; i+) DsSub1.Append(); DsSub1.Fields.Fieldjtgj.Value = strJsoni.item1;/DsSub1.Fields.Fieldjtgj.Value = strJsoniitem1; DsSub1.Fields.Fieldje.Value = strJsoni.item2; DsSub1.Fields.Fielddjzs.Value = strJsoni.item3; DsSub1.Fields.Fieldccsy.Value = strJsoni.item4; DsSub1.Fields.Fieldcfrq.Value = strJsoni.item5; DsSub1.Fields.FieldInvID.Value = strJsoni.item6; DsSub1.bEdit = true; DsSub1.Update(不检查); DsToGrid(DsSub_Grid1, 否); alert(导入成功!); else alert(未发现可导入的数据!); catch (e) alert(导入失败!); ,导入Excel模板示例,11,谢谢!敬请期待C6产品的下一次更新,周烨枫,,