【发布时间】:2018-03-06 12:49:37
【问题描述】:
我打算将 word 文档加载到 Richtextbox 中。
我有以下代码。哪个是有效的,但是加载需要很长时间。
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Word Documents|*.doc; *.docx";
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
object miss = System.Reflection.Missing.Value;
object path = ofd.FileName;
object readOnly = true;
Microsoft.Office.Interop.Word.Document docs = word.Documents.Open(ref path, ref miss, ref readOnly,
ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss,
ref miss, ref miss, ref miss, ref miss);
string totaltext = "";
for (int i = 0; i < docs.Paragraphs.Count; i++)
{
totaltext += "\t " + docs.Paragraphs[i + 1].Range.Text.ToString();
}
richTextBox1.Text = totaltext;
}
加载一个 3 页的测试文档大约需要 2 分钟,加载一个 60+ 页的文档大约需要 2 分钟。
这可能与 for 循环有关。 请帮助我提高速度。
【问题讨论】:
-
首先,我建议将
totalText附加到StringBuilder中。或者,将文档另存为 RTF 并直接加载到RichTextBox- 在设置器上非常慢
标签: c# richtextbox openfiledialog .doc