C# 将DataGridView复制/粘贴到Excel 2002中的隐藏异常

C# 将DataGridView复制/粘贴到Excel 2002中的隐藏异常,c#,.net,winforms,excel,C#,.net,Winforms,Excel,早上好 运行VisualStudio2008C3.5。DataGridView是手动加载的,而不是数据绑定的。复制/粘贴到记事本/写字板工作正常,但当我尝试复制/粘贴到Excel时,我遇到了一个奇怪的异常: HRESULT中的FORMATETC结构异常无效:0x80040064 DV_E_FORMATETC 截至上周五,该系统仍在运行。我完全被难住了。我敢肯定这在过去是行之有效的。我尝试重新启动,重新添加DataGridView控件。非常感谢您的帮助 问候,, -Alan.我的建议是,不要使用c

早上好

运行VisualStudio2008C3.5。DataGridView是手动加载的,而不是数据绑定的。复制/粘贴到记事本/写字板工作正常,但当我尝试复制/粘贴到Excel时,我遇到了一个奇怪的异常:

HRESULT中的FORMATETC结构异常无效:0x80040064 DV_E_FORMATETC

截至上周五,该系统仍在运行。我完全被难住了。我敢肯定这在过去是行之有效的。我尝试重新启动,重新添加DataGridView控件。非常感谢您的帮助

问候,,
-Alan.

我的建议是,不要使用ctrl+v将其粘贴到excel中,而是右键单击并选择“特殊粘贴”,然后选择“文本格式”。当您将内容复制到剪贴簿Ctrl+c时,听起来好像有一种不同的编码方式 如果右键单击鼠标按钮而不是使用粘贴热键Ctrl+p,则还有一些其他选项可用于粘贴。 希望这能帮到你
-帕特

也许您的一些数据被Excel解释为类似5/0的公式

你可以先试试帕特的建议,这样更容易些

另外,首先尝试将文本粘贴到记事本中,从记事本中复制所有内容,然后粘贴到Excel中


如果仍然出现错误,请尝试将文本的前半部分粘贴到记事本中。如果成功,请粘贴下半部分。它们的关键是尝试缩小导致Excel在您身上呕吐的文本字符串。

不要调用Clipboard.SetDataObjectdataObject,请尝试以下操作:Clipboard.SetDataObjectdataObject,true;。“true”参数告诉剪贴板获取数据对象的副本。这对我很有用。

您是使用默认复制过程还是创建了自定义复制过程?这似乎是一个报告的错误:并且有一条注释可能会有所帮助:工具>>选项>>调试>>将跨越appdomain边界或托管/非托管边界的异常视为未处理的默认复制/粘贴。我没有编写复制/粘贴代码,只是在datagrid中执行Ctrl-C,然后在Excel中尝试Ctrl-V!当然,这不可能是同一个问题,是吗?这里是同一个问题。我可以很好地粘贴到excel中。但是这个异常被抛出。作为解决方法,我刚刚禁用了此异常。有后续行动吗?