如何将RTF文本复制到剪贴板以便在Excel中使用
是否有可能复制一个rtfstring到Excel的剪贴板。 格式化应尽可能保留(例如文本颜色)。
以下.Net代码用于填充剪贴板
var dataObject = new DataObject(); dataObject.SetData(DataFormats.Rtf, rtf); Clipboard.SetDataObject(data_object);
- Excel拒绝rtf剪贴板内容
- MS Word接受rtf内容。
- 当我粘贴到MSWord并从MSWord复制到Excel它的作品。
将rtf转换为excel接受的格式的最佳方法是什么?
备注:正如@KreepN所build议的,可以使用System.Windows.Documents.TextRange将RTF转换为HTML,反之亦然。 HTML被Excel识别。
我认为这部分取决于variables“rtf”的定义。 这里是我用来将RTF数据复制到粘贴到Excel的剪贴板的代码片段。
FlowDocument doc = CreateDoc(); TextRange range = new TextRange(doc.ContentStart, doc.ContentEnd); using (Stream stream = new MemoryStream()) { range.Save(stream, DataFormats.Rtf); dataObj.SetData(DataFormats.Rtf, Encoding.UTF8.GetString((stream as MemoryStream).ToArray())); } Clipboard.SetDataObject(dataObj);