早上好,
运行Visual Studio 2008(C#3.5)。手动加载DataGridView(不是数据绑定)。复制/粘贴到记事本/写字板工作正常,但当我尝试复制/粘贴到Excel时,我得到这个奇怪的异常:
Invalid FORMATETC structure (Exception from HRESULT: 0x80040064 (DV_E_FORMATETC))
这是截至上周五的工作。我完全难过了。我很确定这在过去是有效的。我尝试重新启动,重新添加DataGridView控件。任何帮助非常感谢。
此致 -Alan。
答案 0 :(得分:1)
也许您的某些数据被Excel解释为公式(如5/0)。
你可以先尝试Pat的建议(这更容易!)。
另外,首先尝试将文本粘贴到记事本中,从记事本中复制所有内容,然后将其粘贴到Excel中。
如果仍然出现错误,请尝试在记事本中粘贴文本的前半部分。如果成功,请粘贴下半部分。他们的关键是尝试缩小哪个文本字符串导致Excel上的Barf。
答案 1 :(得分:1)
请尝试以下操作:Clipboard.SetDataObject(dataObject)
,而不是致电Clipboard.SetDataObject(dataObject, true);
。 'true'参数告诉剪贴板获取数据对象的副本。它对我有用。
答案 2 :(得分:0)
我的建议是不使用ctrl + v粘贴到excel中,右键单击并选择paste special并选择文本格式。当您将内容复制到剪贴板时,听起来有一种不同的编码方式(ctrl + c) 如果右键单击鼠标按钮而不是使用粘贴热键(ctrl + p),还有一些其他可用于粘贴的选项。 希望这有助于你 -Pat