找回密码
 立即注册

QQ登录

只需一步,快速开始

xuwei5188916

注册会员

2

主题

13

帖子

31

积分

注册会员

积分
31
最新发帖
xuwei5188916
注册会员   /  发表于:2017-2-27 12:36  /   查看:3491  /  回复:5
您好!
       用SpreadJS开发excel并实现下载出现问题:
       我这个excel部分是锁定,部分是不锁定的,模板中excel加上边框后,出现下载文件损坏的情况,只能取消编辑区域的边框,方可下载,请问这个是怎么回事,我的是spreadV9
       解锁单元格是通过setStyle来做的,如果为style添加上border属性后,提交到后台,ExcelIO或生成损坏的excel文件。

5 个回复

倒序浏览
xuwei5188916
注册会员   /  发表于:2017-2-27 12:38:09
沙发

回复 使用道具 举报
xuwei5188916
注册会员   /  发表于:2017-2-27 13:13:13
板凳
spread.isPaintSuspended(true);
spread.setTabStripRatio(0.6);
excelFileName = json.title;

sheet.isProtected = true;
sheet.setValue(0, 0, json.title);
sheet.setArray(2, 1, json.dataSource);

if (!json.isSubmit) {
        var style = new GcSpread.Sheets.Style();
        style.locked = false;
        //style.borderBottom = {
        //        "color": "#7F7F7F",
        //        "style": 1
        //};
        //style.borderLeft = {
        //        "color": "#7F7F7F",
        //        "style": 1
        //};

        for (var i = 2; i < 7; i++) {
                sheet.setStyle(i, 2, style);
                sheet.setStyle(i, 3, style);
        }
}

spread.isPaintSuspended(false);
SetEnableSave(!json.isSubmit);
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-2-27 13:37:11
地板
您在
if (!json.isSubmit) { 之前加上
console.log(JSON.stringify(spread.toJSON()))

然后把结果保存成文本文件发上来。
回复 使用道具 举报
xuwei5188916
注册会员   /  发表于:2017-2-27 14:07:27
5#
客户端抛异常了~~
TypeError: u.borderLeft.toJSON is not a function(…)
gcspread.sheets.all.9.40.20153.0.min.js:13 Uncaught TypeError: u.borderLeft.toJSON is not a functionu.toJSON @ gcspread.sheets.all.9.40.20153.0.min.js:13r._toJSONNode @ gcspread.sheets.all.9.40.20153.0.min.js:13r.toJSON @ gcspread.sheets.all.9.40.20153.0.min.js:13l.toJSON @ gcspread.sheets.all.9.40.20153.0.min.js:13s.toJSON @ gcspread.sheets.all.9.40.20153.0.min.js:13exportExcel @ summary.js:347(anonymous function) @ VM245:49J.event.dispatch @ common.min.js:2m.handle @ common.min.js:2
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-2-27 14:56:40
6#
您好,您代码修改下

   for (var i = 2; i < 7; i++) {
                sheet.getCell(i, 2).locked(false);
                sheet.getCell(i, 3).locked(false);
        }

然后再试试
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部