Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Построчное чтение из документа Word 
V
    Опции темы
Katran7
Дата 1.10.2012, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 11.11.2010

Репутация: нет
Всего: нет



Доброго всем времени суток. Обращаюсь к вам с просьбой о помощи. Скажите может кто-то сталкивался с такой задачей. 
Имеется документ Word(*.doc или *.docx) в нем хранятся такого вида строки строки:
ФИО : Фамилия Имя Отчество
Домашний адрес  : улица, дом
.... и т.д и т.п. 
В общем информация о человеке.

Необходимо считать из документа, из каждой строки, те значения которые находятся после двоеточия и записать эти значения в определенные TextBox'ы на форме.

Как вывести полностью весь текст из документа в переменную (другой документ) знаю, а вот как сделать построчное чтение никак немогу найти подходящей инфы. 
 
Помогите ссылкой или примером, или тем, что сможет помочь мне в данной ситуации.

Заранее благодарен!
PM MAIL   Вверх
diadiavova
Дата 2.10.2012, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Цитата(Katran7 @  1.10.2012,  23:23 Найти цитируемый пост)
Как вывести полностью весь текст из документа в переменную (другой документ) знаю

Не совсем понятно, что это значит. В смысле извлечь текст из документов ты можешь и задача только в том, чтобы прочитать его построчно? Если так, то откуда берется этот текст вообще не имеет значения. Разбить текстовую переменную на строки можно к примеру с помощью метода Split класса String. В качестве сепараторов передавай \r\n


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Katran7
Дата 4.10.2012, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 11.11.2010

Репутация: нет
Всего: нет



Подскажите еще такуе пожалуйста. С помощью приведенного ниже кода считываю содержимое из docx - документа.  В документе хронятся строки вида:
А : Б
З : Г
 
Из строки считываю данные которые стоят после двоеточия. Из первой строки считывает нормально, но при считывании второй выдает предупреждение  такого рода : Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index. 

И указыает на строку textBox2.text = paths[1];

Подскажите, как побороть данное предупрежедение?
Код

        public static string ReadWordDocument(string path)
        {
            Object filename = path;
            Object confirmConversions = Type.Missing;
            Object readOnly = Type.Missing;
            Object addToRecentFiles = Type.Missing;
            Object passwordDocument = Type.Missing;
            Object passwordTemplate = Type.Missing;
            Object revert = Type.Missing;
            Object writePasswordDocument = Type.Missing;
            Object writePasswordTemplate = Type.Missing;
            Object format = Type.Missing;
            Object encoding = Type.Missing;
            Object visible = Type.Missing;
            Object openConflictDocument = Type.Missing;
            Object openAndRepair = Type.Missing;
            Object documentDirection = Type.Missing;
            Object noEncodingDialog = Type.Missing;
            Word.Application Progr = new Microsoft.Office.Interop.Word.Application();
            Progr.Documents.Open(ref filename,
             ref confirmConversions,
            ref readOnly,
            ref addToRecentFiles,
            ref passwordDocument,
            ref passwordTemplate,
            ref revert,
            ref writePasswordDocument,
            ref writePasswordTemplate,
            ref format,
            ref encoding,
            ref visible,
            ref openConflictDocument,
            ref openAndRepair,
            ref documentDirection,
            ref noEncodingDialog);
            Word.Document Doc = new Microsoft.Office.Interop.Word.Document();
            Doc = Progr.Documents.Application.ActiveDocument;
            object start = 0;
            object stop = Doc.Characters.Count;
            Word.Range Rng = Doc.Range(ref start, ref stop);
            string Result = Rng.Text;
            object sch = Type.Missing;
            object aq = Type.Missing;
            object ab = Type.Missing;
            Progr.Quit(ref sch, ref aq, ref ab);
            return Result;
        }

        private void button6_Click(object sender, EventArgs e)
        {
            string doc = ReadWordDocument(textBox9.Text);
            var paths = new List<string>();
            {
                var arr = doc.Split(':');
                paths.Add(arr[1]);
            }
            textBox1.Text = paths[0];
            textBox2.Text = paths[1];
        }


Добавлено через 47 секунд
Кстати, diadiavova, спасибо за ответ!
PM MAIL   Вверх
diadiavova
Дата 4.10.2012, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Цитата(Katran7 @  4.10.2012,  22:38 Найти цитируемый пост)
Подскажите, как побороть данное предупрежедение?

Ну так ты ведь добавляешь в список только одну строку, а здесь ты обращаешься к несуществующей второй, вот и получаешь исключение.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Katran7
Дата 6.10.2012, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 11.11.2010

Репутация: нет
Всего: нет



Спасибо, понял ошибку.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0405 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.