找回密码
 立即注册

QQ登录

只需一步,快速开始

xiaolong

金牌服务用户

96

主题

376

帖子

1022

积分

金牌服务用户

积分
1022
xiaolong
金牌服务用户   /  发表于:2023-8-28 16:39  /   查看:1043  /  回复:9
100金币
本帖最后由 Joestar.Xu 于 2023-9-4 10:56 编辑

使用切片器会有一个toString的报错 1693211924277.png928970642.png ,demo在附件里,cnpm i 下载依赖,npm run dev启动

test.zip

766.21 KB, 下载次数: 53

最佳答案

查看完整内容

您好,这个问题是由于切片器的数据不是日期类型,而是字符串类型导致的。 修复这个问题请参考以下代码: initSheets: function(spread) { spread.suspendPaint(); let sheet = spread.getSheet(1); sheet.name("DataSource"); sheet.setRowCount(650); sheet.setColumnWidth(5, 120); sheet.getCell(-1, 5).formatter("YYYY-mm-DD"); sheet.getRange(-1, 4, 0, 1).formatter("$ #,##0"); this.pivotSales.fo ...

9 个回复

倒序浏览
最佳答案
最佳答案
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-28 16:39:52
来自 8#
您好,这个问题是由于切片器的数据不是日期类型,而是字符串类型导致的。

修复这个问题请参考以下代码:

initSheets: function(spread) {
        spread.suspendPaint();
        let sheet = spread.getSheet(1);
        sheet.name("DataSource");
        sheet.setRowCount(650);
        sheet.setColumnWidth(5, 120);
        sheet.getCell(-1, 5).formatter("YYYY-mm-DD");
        sheet.getRange(-1, 4, 0, 1).formatter("$ #,##0");
        this.pivotSales.forEach((item)=>{
                if(item[5]!=="date"){
                        item[5] = new Date(item[5]);
                }
        })
        sheet.setArray(0, 0, this.pivotSales);
        let table = sheet.tables.add("tableSales", 0, 0, 637, 6);
        table.style(GC.Spread.Sheets.Tables.TableThemes["none"]);
        let sheet0 = spread.getSheet(0);
        sheet0.setValue(0, 0, "Pivot Table 1");
        sheet0.setValue(0, 10, "Pivot Table 2");
        sheet0.name("PivotLayout");
        spread.resumePaint();
},
SpreadJS 17.0.8 | GcExcel 7.1.1 已发布~
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-8-28 18:18:24
2#
您好,
问题收到,这边先验证下,有结果贴中回复您。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-8-29 14:27:28
3#
您好,
运行您提供的demo,如下图操作切片器控制台未出现报错问题。
image.png253995360.png
与原代码唯一的区别就是将package.json中版本前的^去掉之后install的。(去除原因是避免出现版本不一致问题,建议删除。)
您参考下是否是此问题的主要原因。
如果我测试步骤有误,请详细指出这边再调研下。
image.png303453063.png
回复 使用道具 举报
xiaolong
金牌服务用户   /  发表于:2023-8-29 18:20:28
4#
Lynn.Dou 发表于 2023-8-29 14:27
您好,
运行您提供的demo,如下图操作切片器控制台未出现报错问题。

最新版本的问题吗,去掉^,改成16.2.1,还是一样的报错。附件是package.json

package.zip

1.01 KB, 下载次数: 49

回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-30 10:13:59
5#
本帖最后由 Joestar.Xu 于 2023-9-4 10:56 编辑

您好,问题已重现,这边调研一下,后续有进展我会在本贴中回复您。

本帖先做保留处理了。[SJS-19914]
SpreadJS 17.0.8 | GcExcel 7.1.1 已发布~
回复 使用道具 举报
xiaolong
金牌服务用户   /  发表于:2023-8-30 17:55:30
6#
Joestar.Xu 发表于 2023-8-30 10:13
您好,问题已重现,这边调研一下,后续有进展我会在本贴中回复您。

本帖先做保留处理了。

1693389281040.png886824340.png 我用版本测试了一下,好像从16.1.0版本开始就会出现这个问题。麻烦尽快帮忙看下
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-31 08:53:40
7#
收到,我们也发现了这个问题,后续有进展我会第一时间给您回复。
SpreadJS 17.0.8 | GcExcel 7.1.1 已发布~
回复 使用道具 举报
xiaolong
金牌服务用户   /  发表于:2023-9-1 11:33:25
9#
Joestar.Xu 发表于 2023-8-31 12:20
您好,这个问题是由于切片器的数据不是日期类型,而是字符串类型导致的。

修复这个问题请参考以下代码: ...

好的谢谢
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-9-1 11:42:45
10#
不客气,后续有其他问题的话随时开贴提问哈。
SpreadJS 17.0.8 | GcExcel 7.1.1 已发布~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部