XML Spreadsheet复制到vb.net中的剪贴板并带有特殊字符

我可以使用以下代码将一些Excel数据(XML Spreadsheet格式)粘贴到剪贴板:

Dim textToPaste as String = GetMyXMLFormattedText() Dim dataobj As New DataObject Dim xmlStream as new IO.MemoryStream() xmlStream.Write(System.Text.ASCIIEncoding.ASCII.GetBytes(textToPaste), 0, textToPaste.Length) dataObj.SetData("XML Spreadsheet", xmlStream) Clipboard.SetDataObject(dataObj) 

textToPaste是类似的东西

 <?xml version="1.0"?> <?mso-application progid="Excel.Sheet"?> <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" ... </Worksheet> </Workbook> 

这个例子可行,但如果我在我的文档中有“é”这样的特殊字符,我会得到一些“?”。 我试图用其他格式来写我的stream

 System.Text.UTF32Encoding.UTF32.GetBytes 

和许多其他可用,或使用TextToPaste GetByteCount技术,但当我尝试粘贴到Excel,我总是得到一个错误告诉我,我不能粘贴这些数据。

是否可以使用XML电子表格格式粘贴除ASCII之外的其他内容?

谢谢

我最终使用System.Net.WebUtility.HtmlEncode来填充我的目的,以ascii代码对每个字符进行编码。 Excel能够理解这个代码。 这是一个例子(基本的连接)

 <Data ss:Type=""String"">" & System.Net.WebUtility.HtmlEncode(MyTextwithéë) & "</Data> 

在这种情况下,ASCII复制粘贴就足够了。