找回密码
 立即注册

QQ登录

只需一步,快速开始

王五子
金牌服务用户   /  发表于:2024-12-19 11:23  /   查看:100  /  回复:8
5金币
image.png882322692.png

通过getStyle获取不到上传的excel样式信息,比如背景色是灰色getStyle中没有backColor返回,只有在代码中设置一个颜色才能有backColor带过来
如图:(7,9)的原样式是背景色灰色
图一上边设置的颜色注释掉返回的tyle中没有backColor返回,
图二设置的颜色red返回的tyle中才有backColor,

最佳答案

查看完整内容

您好!请教下您文件中灰色背景的设置方式,另外,SpreadJS中的样式渲染按照优先级顺序叠加处理,具体如下图所示: 您可以尝试通过如下代码获取单元格的背景色: 参考官网产品文档了解详情: https://demo.grapecity.com.cn/spreadjs/help/docs/faqs/cells/style/style-priority-level#%E9%97%AE%E9%A2%98spreadjs%E6%A0%B7%E5%BC%8F%E4%BC%98%E5%85%88%E7%BA%A7%E5%92%8C%E6%A0%B7%E5%BC%8F%E6%B1%A1%E6%9F%93

8 个回复

倒序浏览
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2024-12-19 11:23:55
来自 2#
您好!请教下您文件中灰色背景的设置方式,另外,SpreadJS中的样式渲染按照优先级顺序叠加处理,具体如下图所示:
1734581520715.png105018004.png

您可以尝试通过如下代码获取单元格的背景色:
  1. sheet.getActualStyle(row, col).backColor;
  2. sheet.getCell(row, col).backColor;
复制代码

参考官网产品文档了解详情:
https://demo.grapecity.com.cn/spreadjs/help/docs/faqs/cells/style/style-priority-level#%E9%97%AE%E9%A2%98spreadjs%E6%A0%B7%E5%BC%8F%E4%BC%98%E5%85%88%E7%BA%A7%E5%92%8C%E6%A0%B7%E5%BC%8F%E6%B1%A1%E6%9F%93
回复 使用道具 举报
王五子
金牌服务用户   /  发表于:2024-12-19 14:04:07
3#
Wilson.Zhang 发表于 2024-12-19 12:13
您好!请教下您文件中灰色背景的设置方式,另外,SpreadJS中的样式渲染按照优先级顺序叠加处理,具体如下图 ...

image.png781473693.png

用actualstyle的方法可以获取到单个单元格的背景色,但是区域的就获取不到了
这边的需求是仅所选择的单元格背景色高亮,其他的要恢复原来的背景色,支持连续选择,有没有更好的方案实现呢
目前方案是选择新的选区后使原来的选区恢复所记录的背景色但是选区可能会有多个背景色,是否有支持区域样式的替换方法
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-12-19 15:29:31
4#
王五子 发表于 2024-12-19 14:04
用actualstyle的方法可以获取到单个单元格的背景色,但是区域的就获取不到了
这边的需求是仅所选择 ...

可以尝试下单元格状态,SpreadJS对单元格定义了八种状态,如下图所示:
1734593359803.png447294310.png

按照您的需求,设置单元格状态为selected(即选中)时呈现某背景颜色,离开时便还原为原样,如下动图所示:
单元格状态样式.gif

参考如下代码:
  1. var style = new  GC.Spread.Sheets.Style();
  2. style.backColor = 'blue';
  3. var range = new GC.Spread.Sheets.Range(-1, -1, -1, -1);
  4. sheet.cellStates.add(range,GC.Spread.Sheets.CellStatesType.selected,style);
复制代码

这样设置的背景颜色也可以通过getActualStyle()获取。

可以参考官网教程了解详情:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/cells/cell-state/introduction/purejs
回复 使用道具 举报
香香
注册会员   /  发表于:2024-12-19 15:33:55
5#
王五子 发表于 2024-12-19 14:04
用actualstyle的方法可以获取到单个单元格的背景色,但是区域的就获取不到了
这边的需求是仅所选择 ...

根据您的需求,您可以试试sheet.options.selectionBackColor = "red",设置选择区域的样式。

评分

参与人数 1金币 +200 收起 理由
Joestar.Xu + 200 赞一个!

查看全部评分

回复 使用道具 举报
王五子
金牌服务用户   /  发表于:2024-12-19 15:55:01
6#
香香 发表于 2024-12-19 15:33
根据您的需求,您可以试试sheet.options.selectionBackColor = "red",设置选择区域的样式。

感谢感谢但是在v17没有生效哎,用楼上大大单元格状态的方式成功实现了,太感谢了,这一步很关键
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-12-19 16:31:29
7#
5楼用户提供的方法在17版本也可以使用,如下动图所示,我在17.1.9版本测试可行:
选中单元格背景色设置.gif

两个方法的效果稍有区别,单元格状态样式对选中的所有单元格一视同仁,selectionBackColor的颜色对选中单元格区域的首单元格不设置,您酌情使用即可。
回复 使用道具 举报
王五子
金牌服务用户   /  发表于:2024-12-19 16:51:34
8#
Wilson.Zhang 发表于 2024-12-19 16:31
5楼用户提供的方法在17版本也可以使用,如下动图所示,我在17.1.9版本测试可行:

哦哦是选区第一个背景色的原因所以单元格的话没看出来,两种方法都实现了,可太好了感谢两位大大,太棒拉
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-12-19 17:34:28
9#
王五子 发表于 2024-12-19 16:51
哦哦是选区第一个背景色的原因所以单元格的话没看出来,两种方法都实现了,可太好了感谢两位大大,太棒拉

解决了就好,那就结帖了。如有新问题,欢迎发新帖沟通。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部