代码之家  ›  专栏  ›  技术社区  ›  Uniquedesign

在文本框中显示Word文件的内容

  •  1
  • Uniquedesign  · 技术社区  · 7 年前

    我有一个启用了muiltilne选项的文本框。 我想在那个文本框中显示特定word文件的内容。我该怎么做?我使用这个代码,但它只是显示文件名。

    private void btnOpen_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
    {
        OpenFileDialog openFileDialog1 = new OpenFileDialog();
        openFileDialog1.Title = "Open Word File";
        openFileDialog1.Filter = "Word Files (*doc)|*docx";   
    
        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
            Microsoft.Office.Interop.Word.Document doc = new Microsoft.Office.Interop.Word.Document();
    
            object fileName = openFileDialog1.FileName;
            // Define an object to pass to the API for missing parameters
            object missing = System.Type.Missing;
            doc = word.Documents.Open(ref fileName,ref missing, ref missing);
    
            String read = string.Empty;
            List<string> data = new List<string>();
            for (int i = 0; i < doc.Paragraphs.Count; i++)
            {
                string temp = doc.Paragraphs[i + 1].Range.Text.Trim();
                if (temp != string.Empty)
                data.Add(temp);
            }
            doc.Close();
            word.Quit();   
            txtTxt.Text = data.ToString();
    
        } 
    }
    

    这是C#中的windows窗体应用程序。

    请帮忙!

    2 回复  |  直到 7 年前
        1
  •  0
  •   Mohamed Najiullah    7 年前

    您正在使用该行将数据添加到文本框中

    txtTxt.Text = data.ToString();
    

    data 是字符串列表。这样分配它是行不通的,除非您使。ToString()方法。

    遍历列表并将其添加到文本框。像这样的

    foreach(var item in data)
    {
        txtTxt.Text += item;
    }
    
        2
  •  0
  •   Uniquedesign    7 年前

    找到解决方案。 只需要在末尾添加一个循环。感谢“Mohamed Najuillah”。

    private void btnOpen_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
    {
        OpenFileDialog openFileDialog1 = new OpenFileDialog();
        openFileDialog1.Title = "Open Word File";
        openFileDialog1.Filter = "Word Files (*doc)|*docx";   
    
        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
            Microsoft.Office.Interop.Word.Document doc = new Microsoft.Office.Interop.Word.Document();
    
            object fileName = openFileDialog1.FileName;
            // Define an object to pass to the API for missing parameters
            object missing = System.Type.Missing;
            doc = word.Documents.Open(ref fileName,ref missing, ref missing);
    
            String read = string.Empty;
            List<string> data = new List<string>();
            for (int i = 0; i < doc.Paragraphs.Count; i++)
            {
                string temp = doc.Paragraphs[i + 1].Range.Text.Trim();
                if (temp != string.Empty)
                data.Add(temp);
            }
            doc.Close();
            word.Quit();   
           foreach(var item in data)
    {
        txtTxt.Text += item;
    }
    
        } 
    }