2009-03-14 2 views
-2

я хочу прочитать майкрософт слово файл без использования подключения данных,входного файла optput

+0

Можете ли вы быть более конкретными в своем вопросе? –

ответ

2

«.doc» - это не простой текстовый формат. Вы должны использовать interop для maniuplation.

Включите COM Libary «Библиотека объектов Microsoft Word 12.0». Создайте ApplicationClass и используйте свойство Documents, чтобы открыть документ.

 object wordPath = null; 
     object missing = System.Reflection.Missing.Value; 

     wordPath = @"C:\sample.doc"; 

     // Create Interop object 
     ApplicationClass word = new ApplicationClass(); 
     word.Visible = false; 

     // Open document 
     Document doc = word.Documents.Open(ref wordPath, 
      ref missing, 
      ref missing, 
      ref missing, 
      ref missing, 
      ref missing, 
      ref missing, 
      ref missing, 
      ref missing, 
      ref missing, 
      ref missing, 
      ref missing, 
      ref missing, 
      ref missing, 
      ref missing, 
      ref missing); 

     // Set document as active for interaction 
     doc.Activate(); 

     // Select the whole content of the word document 
     word.Selection.WholeStory(); 

     // Get the text from the document 
     string text = word.Selection.Text; 

Существует очень хорошее представление об blog of Scott C. Reynolds.

+0

Я хочу прочитать файл excel из Listview, чтобы найти идентификатор электронной почты из файла excel .... Я пытаюсь это сделать ... но я не знаю тип кодировки excel, который я имею в виду для форматов данных ... как я могу прочитать excel файл для поиска идентификатора электронной почты ... я не хочу использовать подключение к данным – ankush

+0

как для слова, есть также объект libary для excel. код должен быть очень схожим. с объектом рабочего листа вы можете получить диапазон. этот диапазон имеет свойство text. но я думаю, что использование подключения к данным делает его намного проще ... –

+0

Бит гниль взял сообщение в блоге Скотта К. Рейнольдса, но, к счастью, у нас есть машина «Путь назад»: http://web.archive.org/web/ 20100504173106/HTTP: //www.scottcreynolds.com/archive/2007/05/03/c-and-word-interop---a-few-tips.aspx – FooF

1

Это зависит, StreamReader имеет несколько конструкторов, посмотри на:

public StreamReader(Stream stream, bool detectEncodingFromByteOrderMarks) 

public StreamReader(Stream stream, Encoding encoding) 

Но, может быть, вы должны объяснить, что вы имеете в виду под «doc file»

1

Если «doc» означает «документ Word 2003», то это не простой текстовый файл, который начинается с него - это формат двоичного файла. Я не уверен, что это где-то документально, хотя проекты, подобные Open Office, реконструировали его.

Если «doc» вы имеете в виду что-то еще, уточните пожалуйста.

1

Документы Word используют расширение .doc и могут быть сохранены в формате XML. Если у вас есть возможность сделать это, вы можете использовать библиотеку синтаксического анализа XML для получения содержимого. Вся схема довольно сложна, но вы можете извлечь из нее некоторые полезные вещи простым способом.

0
object wordPath = null; 
    object missing = System.Reflection.Missing.Value; 

wordPath = @"C:\sample.doc"; 

// Create Interop object 
ApplicationClass word = new ApplicationClass(); 
word.Visible = false; 

// Open document 
Document doc = word.Documents.Open(ref wordPath, 
            ref missing, 
            ref missing, 
            ref missing, 
            ref missing, 
            ref missing, 
            ref missing, 
            ref missing, 
            ref missing, 
            ref missing, 
            ref missing, 
            ref missing, 
            ref missing, 
            ref missing, 
            ref missing, 
            ref missing); 

// Set document as active for interaction 
doc.Activate(); 

// Select the whole content of the word document 
word.Selection.WholeStory(); 

// Get the text from the document 
string text = word.Selection.Text; 
Смежные вопросы