请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

Yuengh

注册会员

22

主题

55

帖子

177

积分

注册会员

积分
177
Yuengh
注册会员   /  发表于:2017-10-12 16:05  /   查看:3011  /  回复:4
用户有个需求,说如果从数据库拿出来的数据,然后导出来后,自己修改了数据再次导入到Excel里面,如果当他们导入的不是原来这张表的时候就要阻止导入,所以我想问下有没有这个事件呢?
$("#loadExcel").click(function () {
                               
                            //spread.suspendPaint();
                               
                var excelFile = document.getElementById("fileDemo").files[0];

                // here is excel IO API
                excelIo.open(excelFile, function (json) {
                    var workbookObj = json;
                    spread.fromJSON(workbookObj);
                    var data = JSON.stringify(workbookObj);
                    alert((data.indexOf('Yuengh')));
                    if((data.indexOf('Yuengh'))!=-1){
                            var sheet = spread.getSheet(1);
                                            for(var i=0;i<sheet.getColumnCount();i++){
                                                    if(i==1){
                                                            sheet.getRange(0,i,sheet.getRowCount()-1,1).locked(true);
                                                    }else{
                                                            sheet.getRange(0,i,sheet.getRowCount()-1,1).locked(false);
                                                    }
                                            }
                                              sheet.suspendPaint();
                                              sheet.options.allowCellOverflow = true;
                                                var filter = new spreadNS.Filter.HideRowFilter(new spreadNS.Range(1, 0, sheet.getRowCount()-1, sheet.getColumnCount()));
                                                    sheet.rowFilter(filter);
                                               sheet.resumePaint();
                                                    var option = {
                                                            allowFilter: true,
                                                            allowSort: true,
                                                            allowResizeRows: true,
                                                            allowResizeColumns: false,
                                                            allowEditObjects: false
                                                    };
                                            sheet.options.protectionOptions = option;
                                            sheet.options.isProtected = true;
                    }else{
                            alert("请导入系统导出的文件");
                            return false;
                    }                                                                       
                }, function (e) {
                    // process error
                    alert(e.errorMessage);
                    if (e.errorCode === 2 /*noPassword*/ || e.errorCode === 3 /*invalidPassword*/) {  
                    }
                });               
            });

求请教,我试过return false是不行的,break好像全都不行,紧求

4 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-10-12 18:07:44
沙发
您好,您导入后检测完json后不要调用 spread.fromJSON(workbookObj);即可
回复 使用道具 举报
Yuengh
注册会员   /  发表于:2017-10-13 09:01:38
板凳
ClarkPan 发表于 2017-10-12 18:07
您好,您导入后检测完json后不要调用 spread.fromJSON(workbookObj);即可

可是不用这句话,我怎么知道导入的数据有哪些呢?又怎么验证那个字段有没有出现
回复 使用道具 举报
Yuengh
注册会员   /  发表于:2017-10-13 09:13:43
地板
ClarkPan 发表于 2017-10-12 18:07
您好,您导入后检测完json后不要调用 spread.fromJSON(workbookObj);即可

哦哦哦,一大早有点懵逼,已经解决了,不好意思
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-10-13 10:09:08
5#
Yuengh 发表于 2017-10-13 09:13
哦哦哦,一大早有点懵逼,已经解决了,不好意思

没事的,解决您的问题是我们的本职工作,遇到产品的问题您随时可以发帖进行求助
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部