1
我一些Excel中的数据(XML格式)粘贴到这个代码剪贴板:XML电子表格副本在vb.net剪贴板特殊字符
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>
这个例子有效,但如果我在我的文档中有特殊字符,比如“é”,我会得到一些“?”。 我试图用其他格式写我流像
System.Text.UTF32Encoding.UTF32.GetBytes
在TextToPaste使用GetByteCount
和许多其他人可用,或者技术,但是当我尝试粘贴到Excel,我总是得到一个错误,告诉我,我可以不要粘贴这些数据。
是否可以使用XML电子表格格式粘贴除ASCII之外的其他内容到剪贴板?
感谢