optput для ввода файла - PullRequest
       10

optput для ввода файла

0 голосов
/ 14 марта 2009

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

Ответы [ 5 ]

2 голосов
/ 14 марта 2009

". Doc" - это не простой текстовый формат файла. Вы должны использовать взаимодействие для манипуляции.

Включение библиотеки COM «Библиотека объектов 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;

В блоге Скотта Рейнольдса .

есть очень хорошее введение.
1 голос
/ 14 марта 2009

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

Если под "док" вы имеете в виду что-то еще, уточните.

1 голос
/ 14 марта 2009

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

1 голос
/ 14 марта 2009

Зависит от того, что в StreamReader есть несколько конструкторов, посмотрите на:

public StreamReader(Stream stream, bool detectEncodingFromByteOrderMarks)

public StreamReader(Stream stream, Encoding encoding)

Но, возможно, вам следует объяснить, что вы подразумеваете под "документом"

0 голосов
/ 18 марта 2009
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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...