找回密码
 立即注册

QQ登录

只需一步,快速开始

jyjc 讲师达人认证
高级会员   /  发表于:2021-2-23 10:16  /   查看:10387  /  回复:25
表内有ABCD四列,正常显示左右边框线正常,隐藏C列后,BD中间的边框线消失。已上传隐藏前后的ssjson文件,如何能让边框线显示出来?

未隐藏c列.png
隐藏c列.png

1.rar

22.36 KB, 下载次数: 718

25 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-2-23 10:47:36
沙发
您好,问题已复现。
请问您这个ssjson文件是如何生成的呢?
回复 使用道具 举报
jyjc讲师达人认证
高级会员   /  发表于:2021-2-23 10:51:11
板凳
lynn512 发表于 2021-2-23 10:47
您好,问题已复现。
请问您这个ssjson文件是如何生成的呢?

是通过workBook.ToJson()生成的。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-2-23 11:00:00
地板
ssjson文件是使用GcExcel生成的吗?如果是,使用的是GcExcel哪个版本呢?
另,下图中的边框、背景色等样式是如何生成的呢,建议您上传下相应的代码文件。
image.png870962829.png


回复 使用道具 举报
jyjc讲师达人认证
高级会员   /  发表于:2021-2-23 11:33:07
7#
lynn512 发表于 2021-2-23 11:00
ssjson文件是使用GcExcel生成的吗?如果是,使用的是GcExcel哪个版本呢?
另,下图中的边框、背景色等样式 ...

是的,使用的是GcExcel4.0版本,边框和背景色等样式是通过设置属性设置的,先设置D列的样式再设置BC列的样式就有这种问题,因为D列是用户提前设置的,BC是计算列,根据单元格内容不同不一样,所以只能后设置。
我这边之前也遇到过这类问题,就是通过属性设置边框样式时相邻单元格的边框会受影响,但是不知道怎么解决目前的这个问题。
后端设置样式代码为:
IWorkbook workBook = _workBook.Init();
workBook.FromJson(ssjson);

var cell3 = workBook.ActiveSheet.Range["D4: D26"]; //:和D之间加了空格,不然会变成表情。
cell3.Interior.Color = Color.FromArgb(240, 241, 244);
cell3.Locked = true;
cell3.Font.Size = 10.5;
cell3.IndentLevel = 0;
cell3.Borders.Color = Color.FromArgb(225, 227, 230);
cell3.HorizontalAlignment = HorizontalAlignment.Right;
cell3.Borders.LineStyle = BorderLineStyle.Thin;

var cell1 = workBook.ActiveSheet.Range["B4:B26"];
cell1.Interior.Color = Color.FromArgb(240, 241, 244);
cell1.Locked = true;
cell1.Font.Size = 10.5;
cell1.IndentLevel = 0;
cell1.Borders.Color = Color.FromArgb(225, 227, 230);
cell1.HorizontalAlignment = HorizontalAlignment.Right;
cell1.Borders.LineStyle = BorderLineStyle.Thin;

var cell2 = workBook.ActiveSheet.Range["C4:C26"];
cell2.Interior.Color = Color.FromArgb(240, 241, 244);
cell2.Locked = true;
cell2.Font.Size = 10.5;
cell2.IndentLevel = 0;
cell2.Borders.Color = Color.FromArgb(225, 227, 230);
cell2.HorizontalAlignment = HorizontalAlignment.Right;
cell2.Borders.LineStyle = BorderLineStyle.Thin;
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-2-23 11:56:14
8#
收到,这边先根据您提供的信息调研下,预计今天下午更新问题进展。
回复 使用道具 举报
jyjc讲师达人认证
高级会员   /  发表于:2021-2-23 13:59:49
9#
lynn512 发表于 2021-2-23 11:56
收到,这边先根据您提供的信息调研下,预计今天下午更新问题进展。

好的,谢谢!
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-2-23 16:47:50
10#
我把你的代码边框颜色稍作了调整,就可以很清楚的确定问题,D,B,C列分别为红,绿,蓝
如下截图可以看到,后设置的C,会覆盖B,D,因此隐藏时会边框消失,

解决办法是,设置样式的顺序改为D,C,B,如下图2,这样,隐藏C列后,效果如下图3

image.png434091491.png
图1

image.png950209960.png
图2

image.png738964843.png
图3
回复 使用道具 举报
jyjc讲师达人认证
高级会员   /  发表于:2021-2-23 16:54:24
11#
本帖最后由 jyjc 于 2021-2-23 16:56 编辑
Richard.Ma 发表于 2021-2-23 16:47
我把你的代码边框颜色稍作了调整,就可以很清楚的确定问题,D,B,C列分别为红,绿,蓝
如下截图可以看到, ...

你好,BC是在不同的函数里面去设置的,计算的时候执行的,计算里面可以控制执行函数的顺序吗?不行的话有其他办法吗?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-2-23 17:28:22
12#
目前没有其他的办法

GC中的设置实际上和你在Excel中直接做设置的结果是一致的,你可以在Excel中也验证一下,边框消失的原因是你设置了背景色,如果不设置单元格背景色的话就没有这个问题了

我不太清楚你说的“BC是在不同的函数里面去设置的,计算的时候执行的,计算里面可以控制执行函数的顺序吗”是什么意思?
如果你说的函数都是说后台代码的话,这个需要你去调整顺序

回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部