找回密码
 立即注册

QQ登录

只需一步,快速开始

chinaiss_gz

初级会员

53

主题

124

帖子

403

积分

初级会员

积分
403
chinaiss_gz
初级会员   /  发表于:2022-5-24 16:52  /   查看:1692  /  回复:8
本帖最后由 Lynn.Dou 于 2022-5-30 16:19 编辑

Spreadjs V15 版本导入V11版本的ssjson导致边框线丢失,ssjson可从附件中获取,如下图所示:
image.png770869140.png


示例.rar

10.97 KB, 下载次数: 79

8 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-5-24 18:06:44
沙发
您好,
如下图所示,无法导入1.ssjson文件,请提供完整的ssjson数据
image.png907459411.png
回复 使用道具 举报
chinaiss_gz
初级会员   /  发表于:2022-5-25 10:15:34
板凳
本帖最后由 chinaiss_gz 于 2022-5-25 10:34 编辑

稍等,我找个正常的
回复 使用道具 举报
chinaiss_gz
初级会员   /  发表于:2022-5-25 10:34:17
地板
可以查看这个demo

testDemo10.rar

42.12 KB, 下载次数: 68

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-5-25 14:55:04
5#
问题已复现,已将此问题记录下来进一步调研,待有进展会在贴中回复您。
本贴先做保留处理。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-5-30 16:20:51
6#
您好,问题仍在进一步调研中,这边会持续关注此问题,待有进展会第一时间在本贴回复您。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-6-21 15:36:14
7#
更新进展:
经调研此问题属于V11的bug,在V15进行了修复。在您提供的json中,用法类似下方代码:
  1. var sheet = spread.getActiveSheet();
  2.             sheet.getCell(1, 1).borderLeft(new GC.Spread.Sheets.LineBorder("red", GC.Spread.Sheets.LineStyle.thick));
  3.             sheet.getCell(1, 1).borderTop(new GC.Spread.Sheets.LineBorder("red", GC.Spread.Sheets.LineStyle.thick));
  4.             sheet.getCell(1, 1).borderRight(new GC.Spread.Sheets.LineBorder("red", GC.Spread.Sheets.LineStyle.thick));
  5.             sheet.getCell(1, 1).borderBottom(new GC.Spread.Sheets.LineBorder("red", GC.Spread.Sheets.LineStyle.thick));

  6.             sheet.getCell(2, 1).borderLeft(new GC.Spread.Sheets.LineBorder("red", GC.Spread.Sheets.LineStyle.thick));
  7.             sheet.getCell(2, 1).borderTop(new GC.Spread.Sheets.LineBorder("red", GC.Spread.Sheets.LineStyle.thick));
  8.             sheet.getCell(2, 1).borderRight(new GC.Spread.Sheets.LineBorder("red", GC.Spread.Sheets.LineStyle.thick));
  9.             sheet.getCell(2, 1).borderBottom(new GC.Spread.Sheets.LineBorder("red", GC.Spread.Sheets.LineStyle.thick));


  10.             sheet.getCell(3, 1).borderLeft(new GC.Spread.Sheets.LineBorder("red", GC.Spread.Sheets.LineStyle.thick));
  11.             sheet.getCell(3, 1).borderTop(new GC.Spread.Sheets.LineBorder("red", GC.Spread.Sheets.LineStyle.thick));
  12.             sheet.getCell(3, 1).borderRight(new GC.Spread.Sheets.LineBorder("red", GC.Spread.Sheets.LineStyle.thick));
  13.             sheet.getCell(3, 1).borderBottom(new GC.Spread.Sheets.LineBorder("red", GC.Spread.Sheets.LineStyle.thick));

  14.             sheet.addSpan(1, 1, 3, 1);

  15.             sheet.getCell(4, 1).borderLeft(null);
  16.             sheet.getCell(4, 1).borderTop(null);
  17.             sheet.getCell(4, 1).borderRight(new GC.Spread.Sheets.LineBorder("red", GC.Spread.Sheets.LineStyle.thick));
  18.             sheet.getCell(4, 1).borderBottom(null);

  19.             sheet.setRowVisible(3, false);
复制代码
如代码所示,合并的span有一个隐藏行(即第 4 行是隐藏的)。
SpreadJS 现在采用与 excel 相同的策略。
您可以分别使用v11和v15导入该json并保存为excel文件,您会发现导出的excel和v15一样,和v11不一样。
image.png376929625.png
image.png855373229.png
回复 使用道具 举报
chinaiss_gz
初级会员   /  发表于:2022-6-21 17:00:58
8#
那有没有办法,能够定位出V11的哪份ssjson,是存在这个问题?因为我们这边存在大量的表格。
定位到,然后重新设置边框的方法也提供下。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-6-21 18:03:14
9#
从上述调研结果来看,主要是与隐藏行有关,您可以从此入手需结合文件来自行判断下。
设置边框您可以使用setBorder方法。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部