找回密码
 立即注册

QQ登录

只需一步,快速开始

GoodGod

注册会员

1

主题

4

帖子

43

积分

注册会员

积分
43
最新发帖
GoodGod
注册会员   /  发表于:2018-9-29 11:46  /   查看:3121  /  回复:7
请问格式刷功能如何实现?能否实现跨 Sheet 复制格式?
runjs.cn 无法打开,这两个地址看不到:

http://runjs.cn/code/vybn80ca
http://runjs.cn/detail/ydu1tsfz
可否在别的地方贴出代码示例?


7 个回复

倒序浏览
GoodGod
注册会员   /  发表于:2018-10-11 15:12:24
推荐
谢谢,span 确实可以复制。
我参考 Excel 的行为也做了一个格式刷 Demo,供大家参考。
主要包含以下特性:
1. 格式刷按钮支持单击一次性使用,以及双击持续使用;
2. 支持跨工作表使用;
3. 使用格式刷单击一个目标单元格时,完整复制源格式;
4. 使用格式刷选择目标区域时,仅在目标选区内复制格式;

暂未处理的问题:
1. 未能在源选区显示虚线框(可否使用 Copy 命令?还请指导);
2. 当存在合并单元格时,未对超出目标选区的合并单元格进行裁剪(暂无方案,请专家指导);
3. 未支持 Esc 键取消格式刷操作;



FormatPainterDemoLikeExcel.zip (4.33 KB, 下载次数: 81)

评分

参与人数 1金币 +2000 收起 理由
KevinChen + 2000 赞一个!

查看全部评分

回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-9-29 11:50:51
沙发
您好,我把RunJS上关于格式刷的Demo贴在附件中供您参考,

RunJS目前正在全力恢复中,您如果遇到问题,欢迎在论坛发帖提问,感谢支持!

FormatPainter.html

7.55 KB, 下载次数: 81

回复 使用道具 举报
GoodGod
注册会员   /  发表于:2018-9-29 12:00:37
板凳
谢谢版主! 请问是否有支持 CrossSheet 格式刷的方法? 我看到源码中 copyTo 的具体实现中似乎是支持 crossSheet 的...
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-9-29 16:11:35
地板
可以实现,但是不用copyTo,而是使用命令clipboardPaste实现。

我把带CrossSheet的格式刷Demo贴出来,您参考一下。

FormatPainterCrossSheet.html

8.36 KB, 下载次数: 84

回复 使用道具 举报
GoodGod
注册会员   /  发表于:2018-9-30 12:01:17
5#
谢谢,经测试可以使用!
不过这种方法似乎无法复制 Span,要再自己考虑手动实现复制 Span。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-9-30 12:05:48
6#
您好,Demo中clipboardPaste命令的pasteOption参数,传入

GC.Spread.Sheets.ClipboardPasteOptions.formatting

后确实是带span一起复制的,您再试一下。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-10-11 16:03:04
8#
哇,我得给你这样爱学习爱劳动还爱分享的同学点一个大大的赞!
感谢您对咱技术社区做出的贡献~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部