ssc*_*enb 5 .net excel clipboard rtf winforms
是否可以将rtf字符串复制到剪贴板以获取Excel.应尽可能保留格式(例如文本颜色).
以下.Net代码用于填充剪贴板
var dataObject = new DataObject();
dataObject.SetData(DataFormats.Rtf, rtf);
Clipboard.SetDataObject(data_object);
Run Code Online (Sandbox Code Playgroud)
将rtf转换为excel接受的格式的最佳方法是什么?
备注:正如@KreepN所建议的那样,System.Windows.Documents.TextRange可用于将RTF转换为HTML,反之亦然.HTML由Excel识别.
小智 0
我认为这部分取决于变量“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);
Run Code Online (Sandbox Code Playgroud)