找回密码
 立即注册

QQ登录

只需一步,快速开始

星狠手辣

注册会员

6

主题

14

帖子

48

积分

注册会员

积分
48

[已处理] 导入的问题

星狠手辣
注册会员   /  发表于:2018-3-20 11:31  /   查看:3993  /  回复:3
导出表格在Excel里面填写,光标不小心移到未有任何数据的一行,点击保存。导入时会多出空白行。然后我在导入按钮中使用sheet.deleteRows(row,1);的操作却会改变整个表格的样式,除了在重新设置样式外还有什么其他办法?

3 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-3-20 18:38:52
沙发
导入会出现空白行,就是因为您光标位置在未有数据的空白行导致,因为光标在该位置,导入时候会将其认为为有效行处理。
您sheet.deleteRows(row,1)这个操作应该不会改变样式,这样,您能否提供一个简单demo给我看一下,我具体看一下是哪里的问题
回复 使用道具 举报
星狠手辣
注册会员   /  发表于:2018-3-21 10:29:47
板凳
layui.use('upload', function() {
                                var upload = layui.upload;
                                //alert(123)
                                //执行实例
                                upload.render({
                                        elem : '#input',
                                        url : '/api/upload/',
                                        auto : false //选择文件后不自动上传
                                        ,
                                        bindAction : '#testListAction' //指向一个按钮触发上传
                                        ,
                                        accept : 'file',
                                        exts : 'xlsx|xls',
                                        choose : function(obj) {
                                                //将每次选择的文件追加到文件队列
                                                var files = obj.pushFile();

                                                //预读本地文件,如果是多文件,则会遍历。(不支持ie8/9)
                                                obj.preview(function(index, file, result) {
                                                        //console.log(index); //得到文件索引
                                                        //console.log(file); //得到文件对象
                                                        //console.log(result); //得到文件base64编码,比如图片
                                                        var excelFile = file;
                                                        var excelIo = new GC.Spread.Excel.IO();
                                        layer.load();
                                         // here is excel IO API
                                         excelIo.open(excelFile, function (json) {
                                             
                                                                spread.fromJSON(json);
                                                                var sheet = spread.getSheet(0);
                                                                //sheet.addSpan(1,0,9,1);
                                                                //sheet.setColumnVisible(25, false);
                                                                //alert(sheet.getRowCount());
                                                                sheet.suspendPaint();
                                                                for(var i=sheet.getRowCount();i>=0;i--){
                                                                        if(sheet.getValue(i,11)==null){
                                                                                sheet.deleteRows(i,1);
                                                                        }
                                                                }
                                         }, function (e) {
                                             // process error
                                             layer.closeAll('loading');
                                             alert(e.errorMessage);
                                             if (e.errorCode === 2 /*noPassword*/ || e.errorCode === 3 /*invalidPassword*/) {}
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-3-21 18:18:36
地板
能否提供一个能够运行的demo,您这边还有upload这种跟后台交互的,我这边没办法重现问题啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部