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

QQ登录

只需一步,快速开始

demotest

注册会员

2

主题

6

帖子

62

积分

注册会员

积分
62
最新发帖
demotest
注册会员   /  发表于:2018-6-13 15:47  /   查看:4092  /  回复:9
請問spreadjs 在angularjs 4 以上版本如何
取得當前的spread
以及是否支援GC.Spread.Excel.IO

9 个回复

倒序浏览
Helen
高级会员   /  发表于:2018-6-13 16:00:20
沙发
本帖最后由 Helen 于 2018-6-13 16:04 编辑

SpreadJS.Sheets支持angular。文档参考:
http://help.grapecity.com/spread/SpreadSheets11/webframe.html#angular.html
http://help.grapecity.com/spread/SpreadSheets11/webframe.html#angular2.html
GC.Spread.Excel.IO支持的写法可以参考下面帖子中的代码:
http://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=45599&highlight=angular
回复 使用道具 举报
demotest
注册会员   /  发表于:2018-6-13 16:07:58
板凳
Helen 发表于 2018-6-13 16:00
SpreadJS.Sheets支持angular。文档参考:
http://help.grapecity.com/spread/SpreadSheets11/webframe.htm ...

我知道他有支援angularjs
但範例並非angularjs 4以上版本
另外是否可以使用GC.Spread.Excel.IO
   var excelIo = new GC.Spread.Excel.IO();
        spread =  $('#ss').data('workbook');
        var excelFile = $(#'fileDemo').files[0];  
        // excel IO API
        excelIo.open(excelFile, function (json) {
                    var workbookObj = json;
                    spread.fromJSON(workbookObj);
                  
            }, function (e) {
                    // process error
                    alert(e.errorMessage);
                    if (e.errorCode === 2/*noPassword*/  || e.errorCode === 3 /*invalidPassword*/) {                        
                }
            });
在angularjs 6中是否可以一樣可使用
回复 使用道具 举报
Helen
高级会员   /  发表于:2018-6-13 16:44:35
地板
demotest 发表于 2018-6-13 16:07
我知道他有支援angularjs
但範例並非angularjs 4以上版本
另外是否可以使用GC.Spread.Excel.IO

该版本的测试只做到了Angular4。理论上说,如果Angular6上没有break change,是支持的。
回复 使用道具 举报
demotest
注册会员   /  发表于:2018-6-13 18:48:09
5#
Helen 发表于 2018-6-13 16:00
SpreadJS.Sheets支持angular。文档参考:
http://help.grapecity.com/spread/SpreadSheets11/webframe.htm ...

我參照
GC.Spread.Excel.IO支持的写法可以参考下面帖子中的代码:
http://gcdn.grapecity.com.cn/for ... p;highlight=angular

在angular 6寫了一個export 會出現以下錯誤
ERROR TypeError: _co.exportdata is not a function
    at Object.eval [as handleEvent] (AppComponent.html:5)
    at handleEvent (core.js:9953)
    at callWithDebugContext (core.js:11046)
    at Object.debugHandleEvent [as handleEvent] (core.js:10749)
    at dispatchEvent (core.js:7415)
    at core.js:7859
    at HTMLInputElement.<anonymous> (platform-browser.js:1140)
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:421)
    at Object.onInvokeTask (core.js:3662)
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:420)
回复 使用道具 举报
Brander.Zhai
超级版主   /  发表于:2018-6-14 10:59:01
6#
你好,首先,从v11 SP1之后,SpreadJS.Sheets发布了npm package,用来更好的满足用户在UMD各类工程的使用需求,详情请参见:http://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=47637&extra=page%3D1

其次,SpreadJS.Sheets对于Angular的支持是接口层面的,特别是Component的封装,完全遵从现有Angular的Compoennt生命周期。所以,就如我们的Helen同学所说,只要Angular在public接口层面没有Break Change,那么SpreadJS.Sheets完美支持到最新Angular版本。

最后,附上一个SpreadJS 在Angular CLI 工程中的Excel导入示例,望有所帮助。
谢谢

spread-sheets-angular-cli.zip

106.11 KB, 下载次数: 480

回复 使用道具 举报
demotest
注册会员   /  发表于:2018-6-19 21:00:26
7#
Brander.Zhai 发表于 2018-6-14 10:59
你好,首先,从v11 SP1之后,SpreadJS.Sheets发布了npm package,用来更好的满足用户在UMD各类工程的使用需 ...

感謝您的示例
還有個問題是,導入後Excel後angulajs 如何操作導入的sheet
像是getcell getSheet 還有setcell 在angular中要如何操作
是否能提供文件?
回复 使用道具 举报
Brander.Zhai
超级版主   /  发表于:2018-6-20 09:29:18
8#
你好,参见6楼的demo,在app.component.html template定义中,你会看到workbookInitialized 事件,此事件触发于Spread Sheets所有标签初始化加载完毕之后,在事件处理函数参数中,会带有spread的instance。你可以在component中cache这个实例,然后在其他component的生命周期中使用即可。

例如,你在sample页面里面加一个button,在button的click事件里,你就可以通过
onClick(){
let self = this;
self.spread.getCell(0,0).backColor("red");
}

等操作Spread的instance。
回复 使用道具 举报
demotest
注册会员   /  发表于:2018-6-20 10:18:03
9#
本帖最后由 demotest 于 2018-6-20 10:22 编辑
Brander.Zhai 发表于 2018-6-20 09:29
你好,参见6楼的demo,在app.component.html template定义中,你会看到workbookInitialized 事件,此事件触 ...



不好意思  我自己失誤
回复 使用道具 举报
Brander.Zhai
超级版主   /  发表于:2018-6-20 10:37:13
10#
,问题搞清楚就行
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部