RichTextBox.Copy() -> rtf-formatierten Text in Excell einfügen möglich?
-
Hallo Leute!
Es gibt ewiglange Tutorien zu rtf-Formatierung, aber was ich suche, habe ich noch nicht gefunden. Vielleicht kann mir hier jemand helfen, denn das ist glaube ich ein etwas spezielleres Problem:
Ich schreibe eine Datentabelle in eine
RichTextBox.Rtf = myStringBuilder
und mitCopy()
gelangen die Daten in die Zwischenablage, um in Excell eingefügt zu werden zum weiteren Formatieren und Drucken. Um das so benutzerfreundlich und übersichtlich wie möglich zu machen (das ganze ist ein Auftrag) möchte ich ein paar Formatierungen mitübergeben (sonst könnte man sich das rtf auch ganz sparen), aber diese werden mit meinen jetzigen Deklarationen nicht umgesetzt. (Nur die reinen Chars und Tabs werden kopiert.)Bisher steht da folgendes:
StringBuilder sb = new StringBuilder(); sb.Append(@"{\rtf1\ansi\ansicpg1252\deflang1033"); sb.Append(@"{\fs24\b " + dr[1].ToString() + @"}\line\line\fs18"); // weitere Daten mit @"\tab" bzw. @"\line" getrennt anfügen... sb.Append("}"); this.richTextBoxClip.Rtf = sb.ToString(); this.richTextBoxClip.SelectAll(); this.richTextBoxClip.Copy();
Ich frage mich nun folgendes:
-
akzeptiert Excel überhaupt rtf-Formate? (Wenn ich aus Word (Dokument als .rtf gespeichert) formatierten Text in Excell einfüge, wird die Formatierung ja beibehalten, aber z.B. bei Wordpad auch nicht)
-
liegt es evtl. auch an der Windowsversion? (Sähe MS ja ähnlich. Bei mir läuft W7)
-
wie müsste die erste Deklaration richtig sein, falls es überhaupt möglich ist?
Danke im Voraus und mfg
tobiPS: Eigentlich ist das ja kein reines C#-Problem, den thread also bitte ggf. verschieben.
-