2015-10-15 19 views
0

如果我必須解析包含中文的剪貼板中的數據,應使用什麼DataFormat?用C語言解析器從剪貼板獲取中文數據#

目前我使用下面的代碼來解析來自DataGrid的數據。如果剪貼板數據是中國

+0

您確定這個值實際上是否正確(即您可以將它放到Word /記事本中並查看有效的文本)? –

+0

是的。我試着用Excel。數據是有效的。 – nan

+0

你可以把數據複製到記事本上嗎......我的意思是單元值有問題 – Kapoor

回答

0

只需使用DataFormats.UnicodeText

object clipboardRawData = null; 
ParseFormat parseFormat = null; 
IDataObject dataObj = System.Windows.Clipboard.GetDataObject(); 

if ((clipboardRawData = dataObj.GetData(DataFormats.CommaSeparatedValue)) != null) 
{ 
    parseFormat = ParseCsvFormat; 
} 
else if ((clipboardRawData = dataObj.GetData(DataFormats.Text)) != null) 
{ 
     parseFormat = ParseTextFormat; 
} 
string rawDataStr = clipboardRawData as string; 

回報亂碼。 DataFormats.Text將嘗試使用ANSI編碼,這將在中文符號上失敗。

+0

哦,它本身不會失敗。這隻取決於傳統的代碼頁,我猜可能是中文的。 – Joey