如果你想复制和粘贴数据窗户,Windows剪贴板使任务快速和简单(Ctrl+C紧随Ctrl+V),但有时它不起作用,微软现在解释了原因。
在他的开发人员博客(在新窗口打开)在美国,微软(Microsoft)的Raymond Chen讲述了一位客户想要复制30多万行文件的故事Excel电子表格使用Windows剪贴板,但是在复制数据失败后试图访问数据并返回NULL(意味着没有值)。你可能会认为这是因为复制的数据太大了,但陈解释说,大小不是问题。事实上,您可以复制到剪贴板的数据的大小仅受限于您的文件夹中有多少可用内存和地址空间台式电脑或365beplay体育手机 .
相反,这归结于Windows如何在剪贴板上提供数据的怪癖。数据既可以直接传输到剪贴板,也可以使用“剪贴板延迟渲染”。
Chen解释说:“你不是把数据放在剪贴板上,而是说,‘如果有人问起,请告诉我,我会提供数据。这就是所谓的剪贴板延迟渲染,这是一种常见的优化数据格式,很少使用或生产成本高昂。”
当使用剪贴板延迟呈现技术存储的数据被请求时,Windows允许30秒以正确的格式返回该数据。如果不是,请求将被放弃,操作将返回一个NULL值。
这就是客户试图复制Excel电子表格行的情况。用户以富文本格式(RTF)请求数据,而Excel本身并不使用这种格式,因此在复制-粘贴发生之前,它必须将这300000行转换为RTF格式。转换需要超过30秒的时间,因为有很多行,这意味着操作超时,数据没有被复制。
所以,如果你曾经尝试使用Windows剪贴板复制大量数据,但它无法工作,这可能会解释为什么。Chen在他的博客文章的结尾写道:“下次,我们将看看我们能做些什么来延长这个超时”,所以未来的Windows更新可能会解决这个小众但烦人的bug。(微软可能还想优化Excel,以加快数据转换速度。)