2012-10-26 38 views
5

是否可以將rtf字符串複製到剪貼板以獲取excel。格式應儘可能保留(例如文本顏色)。如何將RTF文本複製到剪貼板以便在excel中使用

以下.NET代碼被用於填充剪貼板

var dataObject = new DataObject(); 
dataObject.SetData(DataFormats.Rtf, rtf); 
Clipboard.SetDataObject(data_object); 
  1. Excel中拒絕該RTF剪貼板內容
  2. MS Word中接受該內容RTF。
  3. 當我粘貼到MSWord並從MSWord複製到Excel時,它的工作原理。

將rtf轉換爲excel接受的格式的最佳方式是什麼?

備註: 正如@KreepN所建議的,System.Windows.Documents.TextRange可用於將RTF轉換爲HTML,反之亦然。 HTML被Excel識別。

+0

你能舉一些例子嗎? – Kosmos

回答

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); 
相關問題