powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Из Worda в БД
7 сообщений из 7, страница 1 из 1
Из Worda в БД
    #39353846
Алексей Шм.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть doc-файл, в котором много-много таблиц. Ячейки в каждой из таблиц могут быть произвольным образом объединены в пределах столбца. В каждой таблице своя инфа и своя логика. Нужно выбрать данные и преобразовать их для вставки в таблицу как будто объединений нет (пояснение на картинке - 1 таблица - как в ворд-таблице, 2 - что нужно получить).
Что имеем - знаем количество cells в каждом column-e, и максимальное число строк в таблице.
Итак - (1/2, 2/4, 3/3, 4/3).
Не пойму, за что даже зацепиться - как понять, что ячейка в столбце 3 объединена (со значением 2) и что она общая для ячеек столбца 2 (где С, D)? Если допустим, обращаюсь к ячейке D столбца2, считываю значение, обращаюсь к соответсвующей ячейке столбца три - вылетает исключение, что такой ячейки не существует..
...
Рейтинг: 0 / 0
Из Worda в БД
    #39353847
Алексей Шм.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Шм.,
...
Рейтинг: 0 / 0
Из Worda в БД
    #39353857
Алексей Шм.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>обращаюсь к соответсвующей ячейке столбца три - вылетает исключение, что такой ячейки не существует..
Вернее она существует, но это 3-я ячейка уже относится к ячейке Е столбца 2
...
Рейтинг: 0 / 0
Из Worda в БД
    #39353864
Фотография Смузи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот тут описана логика.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Dim i As Integer

'First, Loop through each table; you may perfer to pick a table explicitly
For i = 1 To Word.ActiveDocument.Tables.Count
    'Create some variables to hold row and column values
    Dim x, y As Integer

    'Loop through the rows in the table
    For x = 1 To [WordInstance].Tables(i).Rows.Count
        'Loop through the coloumns for each row
        For y = 1 To [WordInstance].Tables(i).Columns.Count
               'Try to read the value of cell X,Y
               Try
                   Dim CellValue as String
                   CellValue = [WordInstance].Tables(i).Cell(x, y).Range.Text)
               Catch ex As Exception
                   'If we get an error, there is no cell at X,Y because Y is merged with the cell
                   'above, so increase Y by 1
                   y+=1
               End Try
        Next
    Next
Next
...
Рейтинг: 0 / 0
Из Worda в БД
    #39353880
Алексей Шм.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смузи,

Спасибо, с утра посмотрим :)
...
Рейтинг: 0 / 0
Из Worda в БД
    #39354158
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Алексей Шм.Есть doc-файл, в котором много-много таблиц. Ячейки в каждой из таблиц могут быть произвольным образом объединены в пределах столбца. В каждой таблице своя инфа и своя логика. Нужно выбрать данные и преобразовать их для вставки в таблицу как будто объединений нет (пояснение на картинке - 1 таблица - как в ворд-таблице, 2 - что нужно получить).
Какой курс?
...
Рейтинг: 0 / 0
Из Worda в БД
    #39354222
Алексей Шм.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,

Не курс. Просто на работе есть большой wordовский файл, хочу сделать БД. Чисто моя инициатива.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Из Worda в БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]