C# 导出到word时,RichTextBox将丢失所有格式
我将word内容复制到richtextbox而没有完全丢失格式,但现在我正在编辑richtextbox中的内容 现在,我想使用WinForms将richtextbox内容导出到word文档中,而不丢失任何格式设置。你是怎么做到的C# 导出到word时,RichTextBox将丢失所有格式,c#,ms-word,ms-office,richtextbox,C#,Ms Word,Ms Office,Richtextbox,我将word内容复制到richtextbox而没有完全丢失格式,但现在我正在编辑richtextbox中的内容 现在,我想使用WinForms将richtextbox内容导出到word文档中,而不丢失任何格式设置。你是怎么做到的 WordApp.ActiveDocument.SaveAsQuickStyleSet("abc.doc"); Range rng = WordApp.ActiveDocument.Range(0, 0); for (int i = 0; i < _dgvro
WordApp.ActiveDocument.SaveAsQuickStyleSet("abc.doc");
Range rng = WordApp.ActiveDocument.Range(0, 0);
for (int i = 0; i < _dgvrow.Cells.Count; ++i)
{
// add code to loop thru controls and TypeText into word document
Label lb = (Label)this.Controls["lblfield" + (i+1).ToString()];
rng.Text += lb.Text;
rng.Select();
Control ctrl = this.Controls["txtfield" + (i+1).ToString()];
if(ctrl is RichTextBox)
{
RichTextBox rb = (RichTextBox)ctrl;
rng.Text += rb.Text + Environment.NewLine;
rng.Select();
}
else if (ctrl is TextBox)
{
TextBox rb = (TextBox)ctrl;
rng.Text += rb.Text + Environment.NewLine;
rng.Select();
}
}
你想得到你的控制权,而不仅仅是控制权
将rb.Text替换为rb.Rtf
从MSDN:
Text属性不返回有关应用于RichTextBox内容的格式的任何信息。要获取RTF代码的富文本格式,请使用RTF属性
此外,如果您愿意,这是内置的:
rb.SaveFile(yourFilePath);
RichTextBox的Text属性只返回纯文本。使用Rtf属性返回Rtf格式的文本
不幸的是,Word没有插入RTF文本的方法。但是,您可以从剪贴板粘贴RTF文本
Clipboard.SetText(rb.Rtf, TextDataFormat.Rtf);
rng.Paste()
通过运行查看您的发言,我可以建议正确编码 使用“保存文件”方法将编码的富文本框保存为.rtf或.doc,然后在microsoft word中打开 我们不会失败
关于。请尝试rb.Rtf而不是rb.Text。这不是一个容易阅读的。。。第一句话很难读。我会编辑它,但我不知道你想说什么。。。。