找回密码
 立即注册

QQ登录

只需一步,快速开始

rex_chujie
金牌服务用户   /  发表于:2021-7-4 11:03  /   查看:2476  /  回复:4
forum.png487688292.png 代码中加了这一段渲染自定义js单元格的内容之后,下载就出现该错误 1625367795(1).png529502257.png
image.png459530333.png

新建文件夹 (3).zip

18.02 MB, 下载次数: 179

4 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-7-12 11:22:54
推荐
您好,
造成此问题的原因是:
合并的json很大,做json stringify的时候,超出了浏览器字符串长度限制。
解决方案:
您只想导出excel,但是在json中,excel有大量无用的内容,因此,在保存excel之前删除一些内容。
将代码替换如下:
  1. if (sheetType === 1) {
  2.                     const datatableData = sheetObj.data.dataTable; //获取json的数据
  3.                     for (let line in datatableData) {
  4.                         //遍历datatable行
  5.                         for (let col in datatableData[line]) {
  6.                             if (datatableData[line][col].style && datatableData[line][col].style.cellType &&
  7.                                 datatableData[line][col].style.cellType.sheetInfoItem) {
  8.                                 delete datatableData[line][col].style.cellType.sheetInfoItem;
  9.                             }
  10.                             //遍历datatable列,如果是行头维度列头维度所在区域,且单元格值是对象,则需要将对象转换成字符串
  11.                             if ((+line < spaceRow + columnHeaderCount ||
  12.                                     +col < spaceColumn + rowHeaderCount) &&
  13.                                 $.isPlainObject(datatableData[line][col].value)
  14.                             ) {
  15.                                 // 如果是对象则改成对象里的result属性的值
  16.                                 datatableData[line][col].value = datatableData[line][col].value.result;
  17.                             }
  18.                         }
  19.                     }
  20.                 }
复制代码
具体可以参考附件的demo。

新建文件夹 (3).zip

18.75 MB, 下载次数: 195

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-7-5 09:25:15
沙发
本帖最后由 Lynn.Dou 于 2021-7-6 18:10 编辑

您好,问题已复现。
已将此问题记录下来,有进展会在本帖更新。
本贴先做保留处理。(SJS-9161)
回复 使用道具 举报
rex_chujie
金牌服务用户   /  发表于:2021-7-6 13:39:35
板凳
这问题怎么说
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-7-6 15:09:08
地板
问题正在处理中,有进展会在本贴更新。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部