C# Word Interop: Microsoft.Office.Interop.WordUse Microsoft.Office.Interop.Word. Open a DOC file and read the text in it.
dot net perls
Microsoft Word can be used with C# code. You have a Microsoft Word document and want to read it in your C# program. With the Microsoft.Office.Interop.Word assembly, we get the contents and formatting from the document.
Tip Add the Microsoft.Office.Interop.Word assembly to your project. Go to Project -> Add Reference.
Example. First, we show the file we will read. It contains three paragraphs containing one word each. The program first instantiates an Application instance and then we call Documents.Open on that variable.
Next We loop through the Words collection and read the Text property on each element. We then display and call Quit.
Empty paragraphs. We see that Word 2, Word 4, and Word 6 are empty. The empty paragraphs in the input file are considered words. If you have multiple words in a paragraph, they will each be separate in the Words collection.
So In Interop.Word, a paragraph is made up of a collection of one or more words.
Word document: word.doc
One Two three
using System; using Microsoft.Office.Interop.Word; class Program { static void Main() { // Open a doc file. Application application = new Application(); Document document = application.Documents.Open("C:\\word.doc"); // Loop through all words in the document. int count = document.Words.Count; for (int i = 1; i <= count; i++) { // Write the word. string text = document.Words[i].Text; Console.WriteLine("Word {0} = {1}", i, text); } // Close word. application.Quit(); } }
Word 1 = One Word 2 = Word 3 = Two Word 4 = Word 5 = three Word 6 =
Quit. Why is the application.Quit statement important? If you don't include this, the WINWORD.EXE application will remain in the process list. Then, when this program is run again, a new one will be started. This wastes memory.
Note It is important to iterate on Words from 1 to Count inclusive. Correction suggested by Robert Ford.
Summary. We looked at the Microsoft.Office Interop.Word assembly and learned how to read in data from a Word document. This can be useful when you have DOC or DOCX files and want to programmatically read in data from your C# program.
© 2007-2021 sam allen. see site info on the changelog