找回密码
 立即注册

QQ登录

只需一步,快速开始

chenke

初级会员

6

主题

11

帖子

202

积分

初级会员

积分
202
chenke
初级会员   /  发表于:2019-5-6 07:16  /   查看:3715  /  回复:8

//初始化spread 并加载模板文件
function initSpread(sfilename) {
    spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"), { sheetCount: 1 });
   
    if (sfilename.length > 1) {
        $.ajax({
            url: sfilename,
            datatype: "json",
            success: function (data) {
                //here to load ssjson file.
                spread.suspendPaint();
                spread.fromJSON(JSON.parse(data));
                spread.resumePaint();
            },
            error: function (ex) {
                alert('Exception:' + ex);
            }
        });
    }
   sheet = spread.getActiveSheet();  
//成功载入模板后,执行以下语句无效了
sheet.setValue(9, 3, 'dddd');
  
}



8 个回复

倒序浏览
chenke
初级会员   /  发表于:2019-5-6 07:29:24
沙发
这一段程序在Google Chrome 会死机????
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-5-6 16:09:48
板凳
您好,仔细阅读了您的代码,代码本身没有问题,

请检查两点:

1、Ajax请求后台数据耗时多少?

2、把后台的json用纯前端的方式加载一下,是否会直接卡死?

如果是第二个问题导致页面卡死,请把您的json串复制到文件中,

上传到附件,我们这边排查一下问题原因。
回复 使用道具 举报
chenke
初级会员   /  发表于:2019-5-6 18:13:04
地板
模板文件test11.ssjson是用spreadjs 报表设计器随意画的,运行文件为html,不涉及后台数据问题。
如果不加载模板文件,填充单元格是可以的,加载后,ie会报错(错误: 无法获取未定义或 null 引用的属性“getRowCount”)谷歌卡死

test_ssjson.rar

1.53 KB, 下载次数: 72

回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-5-6 18:29:48
5#
您好,我这边没能重现您的问题,

注意到您的代码中是这样写的:

  1. spread.fromJSON(JSON.parse(data));
复制代码


这句代码用了JSON.parse(data)

这里的data是字符串还是json对象?

如果是json对象就会报错。

参考我附件中的示例。

IO_Template_01.html

10.49 KB, 下载次数: 74

回复 使用道具 举报
chenke
初级会员   /  发表于:2019-5-7 16:03:25
6#
    你好,这种方法可以,但是需要用FileReader()先读取ssjoin文件,可是由于浏览器安全的限制,FileReader()一般只能读取用户选择的文件。如果是程序给定的文件名,不知道如何读取。
    我想做一个报表,先调入一个模板(模板上有表头、样式、公式),再在模板上填写数据,有没有实现方法
      
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-5-7 17:38:39
7#
如果需要程序自动读取,可以用代码从后台加载文档,然后再导入到SpreadJS中,

您可以参考这篇帖子:

https://gcdn.grapecity.com.cn/fo ... &extra=page%3D1
回复 使用道具 举报
chenke
初级会员   /  发表于:2019-5-8 05:55:43
8#
问题已解决,谢谢
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-5-8 11:03:59
9#
感谢反馈,很高兴解决了您的问题,本帖结贴了,有新的问题欢迎发新贴交流~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部