当我在 excel 复制一些色块的时候,实际上是在复制的什么?

2020-01-16 22:31:06 +08:00
 wasd6267016
在 excel 里复制一些色块,可以粘贴到别的 excel 里,甚至是在线文档里

现在我想用程序按照某些算法构造出这些色块,然后放到粘贴板里,这样可以直接粘贴在别的 excel 里
(实际上就是想在 excel 里画画啦)

所以想问问各位,如何查看这些数据是如何组织的呢
-- 自己尝试了用 ditto 查看、粘贴到文本编辑器里,似乎都丢失了信息
2841 次点击
所在节点    程序员
14 条回复
wasd6267016
2020-01-16 22:38:58 +08:00
Juszoe
2020-01-16 22:57:57 +08:00
貌似复制出来的是 RTF 格式(乱猜
ensonmj
2020-01-16 23:01:20 +08:00
还不如一步到位,直接用程序在 excel 里面生成整个图案,其实就是设置每个 field 的前景色吧
also24
2020-01-16 23:49:43 +08:00
不知道楼主具体想干什么,我使用 ditto 复制了几个黄色的色块
![]( https://i.loli.net/2020/01/16/YSIThbMC9qDBaZO.png)

然后使用 ditto 的 “加载项” -> “Ditto Utils” -> “Paste any clip as text” 功能粘贴出来。
![]( https://i.loli.net/2020/01/16/gNhIFGm8nUK74tX.png)

此处我选择了后面两种,分别粘贴出了两种格式的内容。
第一种很明显就是 rtf 格式的:
https://pastebin.com/131QS2Pv

而第二种,应该是 Microsoft Office XML 格式的:
https://pastebin.com/nvteDhdZ

格式的介绍:
https://en.wikipedia.org/wiki/Microsoft_Office_XML_formats
GPLer
2020-01-17 00:54:24 +08:00
nvkou
2020-01-17 01:11:51 +08:00
换个思路。用 VBA 直接实现?
Kirscheis
2020-01-17 01:19:47 +08:00
是 XML

不知道你们说的 ditto 是什么东西,但微软 office 新版本的内部格式实际上就是一堆 XML 文件,你可以试试把 pptx,docx,xlsx 文件后缀名改 zip 解压看看就知道他们的数据格式了。把 xml 压缩之后也可以直接变成这些文件。
scnace
2020-01-17 01:21:05 +08:00
ooxml
xbigfat
2020-01-17 08:32:51 +08:00
@Kirscheis ditto 是 Windows 上开源的剪贴板管理工具
wasd6267016
2020-01-17 10:45:06 +08:00
@ensonmj 嘿嘿 想做的需求就是把这个粘贴板的内容搞懂
wasd6267016
2020-01-17 10:48:25 +08:00
@also24 很感谢 但是构造出这些文本之后 再复制粘贴到 excel 就只是文本而已了
also24
2020-01-17 12:17:01 +08:00
@wasd6267016
你应该结合 @GPLer 回复的那个知乎链接,里面的第 2 个回答来看。
我猜测你把这些文本直接放在 CF_TEXT 了。
no1xsyzy
2020-01-17 12:26:07 +08:00
@wasd6267016 Clipboard 有类型标记的,你需要设置类型,同样也可以多个类型分别设置内容
而粘贴的那边就会根据这些来粘贴
我记得 Excel 复制时还会有个图片类型的,复制单元格粘微信或者 zim 都是图片
killmojo
2020-06-19 09:58:21 +08:00
放 HTML 就可以,弄个 table 。
table 的 cell 有背景色,SpreadJS 就是这么实现和 Excel 之间粘贴复制单元格样式的。
https://demo.grapecity.com.cn/SpreadJS/WebDesigner/content/index.html
从 Excel 里复制出来的也是这样的 HTML

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/638569

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX