2011-02-23 80 views
8

早上好,從DataGridView隱藏的異常複製/粘貼到Excel 2002中

運行Visual Studio 2008(C#3.5)。 DataGridView是手動加載的(不是數據綁定的)。複製/粘貼到記事本/寫字板工作正常,但是當我試圖複製/粘貼到Excel中,我得到這個奇怪的例外:

Invalid FORMATETC structure (Exception from HRESULT: 0x80040064 (DV_E_FORMATETC))

這是工作截至上週五。我完全被難住了。我很確定這在過去有效。我試過重新啓動,重新添加DataGridView控件。任何幫助非常感謝。

Regards, -Alan。

+0

您是使用默認複製程序還是創建自定義程序? – 2011-02-23 15:53:24

+0

也是你手工打開excel(打開excel然後打粘貼)或者你使用互操作來創建一個excel的實例? – 2011-02-23 15:54:30

+2

它似乎是一個報告的錯誤: http://connect.microsoft.com/VisualStudio/feedback/details/97153/unhandled-comexception-invalid-formatetc和http://connect.microsoft.com/VisualStudio/feedback/詳細信息/ 97153/unhandled-comexception-invalid-formatetc# 有一條評論可能有所幫助:工具>>選項>>調試>>「將待處理的異常跨域應用程序邊界或管理/未管理的邊界視爲未處理」 – 2011-02-23 15:56:25

回答

0

我的建議是不用ctrl + v粘貼到excel中,右鍵單擊並選擇粘貼特殊並選擇文本格式。這聽起來像是當你將內容複製到剪貼板時有一種不同的編碼方式(ctrl + c) 如果右鍵單擊鼠標按鈕而不是使用粘貼熱鍵(ctrl + p),還有其他一些粘貼選項可用於粘貼。 希望這可以幫助你出局 -Pat

+0

嘗試過這些。沒有影響:/ – CoolStraw 2011-04-01 09:57:17

1

也許你的一些數據被Excel解釋爲公式(如5/0)。

您可以先嚐試Pat的建議(更簡單!)。

另外,嘗試先將文本粘貼到記事本中,然後將所有內容從記事本中複製並粘貼到Excel中。

如果仍然出現錯誤,請嘗試在記事本中粘貼文本的前半部分。如果成功,請粘貼下半部分。他們的關鍵是試圖縮小哪些文本字符串導致Excel到您的Barf。

1

而不是打電話Clipboard.SetDataObject(dataObject),試試這個:Clipboard.SetDataObject(dataObject, true);。 'true'參數告訴剪貼板獲取數據對象的副本。它爲我工作。

+0

這適用於VS 2015 – wrtsvkrfm 2016-12-11 20:27:27