找回密码
 立即注册

QQ登录

只需一步,快速开始

Vertical

注册会员

5

主题

17

帖子

42

积分

注册会员

积分
42
Vertical
注册会员   /  发表于:2024-8-30 17:50  /   查看:1037  /  回复:12
1金币
原单元格中未设置font等样式,使用copyTo方法进行复制样式后,目标单元格内存在font样式,怎样配置才能不生成这部分多出来的样式

最佳答案

查看完整内容

在CopyToOptions.style的作用下,copyTo复制的是单元格的实际样式。无论是否对单元格显式设置样式,单元格都具有基础样式。您可以在copyTo后根据需要再对目标单元格设置样式。

12 个回复

倒序浏览
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2024-8-30 17:50:15
来自 12#
Vertical 发表于 2024-9-2 16:49
我看了下,使用getActualStyle看原单元格中,确实存在12px的样式,所以copyTo是复制实际样式,而不是复制 ...

在CopyToOptions.style的作用下,copyTo复制的是单元格的实际样式。无论是否对单元格显式设置样式,单元格都具有基础样式。您可以在copyTo后根据需要再对目标单元格设置样式。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-30 17:56:01
2#
您好!目标单元格内是否有设置font,以及粘贴后目标单元格内的font值是什么?另外请您提供一个能够复现该问题的完整demo。
回复 使用道具 举报
Vertical
注册会员   /  发表于:2024-8-30 17:57:18
3#
是否是copyto的时候,将原单元格的样式与默认样式进行合并后再粘贴了,因为多出来的font样式,是我给sheet设置的默认样式
回复 使用道具 举报
Vertical
注册会员   /  发表于:2024-8-30 17:59:18
4#
Wilson.Zhang 发表于 2024-8-30 17:56
您好!目标单元格内是否有设置font,以及粘贴后目标单元格内的font值是什么?另外请您提供一个能够复现该问 ...

目标单元格中未设置font,原单元格中也没设置过font,但是默认的sheet样式中设置过font

是否是copyto的时候,将原单元格的样式与默认样式进行合并后再粘贴了,因为多出来的font样式,是我给sheet设置的默认样式
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-30 18:04:35
5#
Vertical 发表于 2024-8-30 17:59
目标单元格中未设置font,原单元格中也没设置过font,但是默认的sheet样式中设置过font

是否是copyto ...

不排除这样的可能,您可以给我们提供一个能复现问题的完整demo,我们根据demo来分析一下。
回复 使用道具 举报
Vertical
注册会员   /  发表于:2024-9-2 10:04:21
6#
Wilson.Zhang 发表于 2024-8-30 18:04
不排除这样的可能,您可以给我们提供一个能复现问题的完整demo,我们根据demo来分析一下。

image.png46738280.png
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-9-2 11:51:49
7#

从您图示左侧被选中的单元格A1了解到字体是Arial 12px,可以通过Worksheet:getActualStyle()看到字体信息;您复制时设置的复制选项“0x40”对应为syle,即复制单元格样式,这就将单元格A1的字体一并复制到A6。因此,您在单元格A6处的样式中便包含了字体Arial 12px。
回复 使用道具 举报
Vertical
注册会员   /  发表于:2024-9-2 11:57:00
8#
Wilson.Zhang 发表于 2024-9-2 11:51
从您图示左侧被选中的单元格A1了解到字体是Arial 12px,可以通过Worksheet:getActualStyle()看到字体信息 ...

但是我通过getStyle获取0,0单元格的样式时,并没有12px的样式,为什么使用copyTo复制后,目标单元格中就会有这个样式

是否是copyTo复制时会将默认的样式补齐(这个时候我不需要这个默认样式)
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-9-2 15:43:40
9#
Vertical 发表于 2024-9-2 11:57
但是我通过getStyle获取0,0单元格的样式时,并没有12px的样式,为什么使用copyTo复制后,目标单元格中就 ...

请问下您使用的确切版本是什么?我们使用最新的17.1.4版本未能复现您所说的问题,您可以提供一个能够复现问题的完整demo给我们。

电子表格的样式采用了多层样式的实现机制,允许在单元格上前后多次设置样式,但每次设置的样式都是一个Style对象,为了避免过多的Style对象对内存资源的占据,采用多层样式叠加实现。所以,需要通过Worksheet:getActualStyle()了解单元格的实际样式。您在调用copyTo方法时指定的复制选项是style,便会复制完整的样式,可以参考官网教程了解复制选项详情:
https://demo.grapecity.com.cn/sp ... t-doc-content_title
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部