2011-06-09 43 views
7

我的应用程序将表格数据写入到Windows复制缓冲区中以供用户粘贴到Excel中。这适用于未格式化的表格数据,包括制表位和单元格和行定界符的新行。在Windows剪贴板复制缓冲区中包含格式化信息以粘贴到Excel中

我想要在复制缓冲区中包含格式化数据:网格线,背景颜色等。我可以这样做,如果是这样,我可以在哪里找到用于编码格式数据的规范?

+0

我不认为这是可能的,但有兴趣看看你是否得到任何答案。 – 2011-06-11 05:50:10

+0

出于好奇,你是否试图避免在通过代码修改工作簿时破坏撤销/重做堆栈的问题?您是否最终实现了自己的BIFF格式化程序,并且有多少麻烦?我正考虑在我的一个宠物项目(一个excel插件)上走同样的路线,我不想放弃撤消历史,所以我对此很好奇。 – anakic 2014-10-26 13:44:37

+0

否 - 我有一个单独的应用程序,将数据推送到剪贴板,用户可以选择将其粘贴到Excel中用于报告目的......最终,实现BIFF格式化程序看起来像是一点点工作,所以相反,我将我的剪贴板数据保留为原始文本,并在Excel端执行代码,以便在粘贴后对其进行格式化。尽管如此,BIFF格式化程序本来是一个更好的解决方案。 – pancake 2014-10-27 00:51:05

回答

4

是的,这是可能的(当然,你可以复制从一个通过剪贴板运行Excel实例到其他格式的Excel数据,所以它必须是可能的!)

记住,Windows剪贴板可以在更多的装东西而不是同一时间格式。您想要格式化Excel格式的网格材料的格式称为BIFF,即二进制交换文件格式。这与Excel实际存储文件的格式相同。可从Open Office获得BIFF documentation的合理来源。

一旦找出BIFF的基本知识,就会发现生成所需BIFF的最简单方法是从Excel电子表格中复制所需单元格的模型,并检查剪贴板中的内容。

+0

正是我在寻找 - 非常感谢。 – pancake 2011-06-16 21:50:40