richtextbox에 단어 문서를로드하려고합니다.C# richtextbox에 .docx 파일을로드하는 데 너무 오래 걸리는 경우
다음 코드가 있습니다. 어느 것이 효과가 있겠지만,로드가 오래 걸릴 것입니다.
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 페이지 이상의 문서를로드하는 데는 시간이 걸립니다.
for 루프와 관련이있을 수 있습니다. 속도 향상 방법을 도와주세요. 대신
string totaltext = "";
for (int i = 0; i < docs.Paragraphs.Count; i++)
{
totaltext += "\t " + docs.Paragraphs[i + 1].Range.Text.ToString();
}
richTextBox1.Text = totaltext;
이용
처음에는'totalText'를'StringBuilder'에 추가하는 것이 좋습니다. 또는 문서를 RTF 형식으로 저장하고 'RichTextBox'에 직접로드하십시오. 설정자에서 매우 느립니다. – DiskJunky