Копирование / отображение данных между таблицами Excel, Vb.net - PullRequest
0 голосов
/ 15 ноября 2011

Мне нужно скопировать данные с помощью Vb.net, если это возможно, из одной таблицы Excel в другую и поместить данные в соответствующие столбцы в существующей таблице Excel. Названия столбцов электронных таблиц совпадают, у меня есть несколько шаблонов, в которые мне нужно поместить данные, и порядок столбцов в каждом шаблоне различен, поэтому мне нужен способ поиска заголовка столбца в шаблоне, а затем копирование данных в этот столбец.

Будет ли лучший способ добиться этого с помощью ADO?

Например, переместите данные из этой книги1 со столбцами «Test1», «Test2» и данными

Test1   Test2
1         2
12        23
123       234

В рабочую книгу 2, которая будет иметь те же имена столбцов, но может быть в другом порядке:

Test0   Test1   Test1.1  Test2

Мне нужно сделать это автоматически, так как у меня есть много данных для копирования и 30-40 шаблонов рабочих книг для копирования данных, столбцы шаблонов расположены в разных порядках и не могут быть перемещены.

1 Ответ

0 голосов
/ 15 ноября 2011

Существуют различные способы взаимодействия с Excel с использованием .NET. Если вы просто хотите сделать это с одной версией Excel, тогда VSTO может быть вашим самым простым решением, в противном случаеиспользовать что-то еще.Мне нравится использовать EXCEL-DNA .

. Вы также можете использовать ADO, чтобы вывести данные, но, если поместить их в другое, я думаю, вам понадобится один из перечисленных способов.выше, чтобы сделать это (так как вам нужно будет ссылаться на объект Excel).Если вы используете Excel 2007 и выше, вы также можете напрямую обращаться к XML-файлам и манипулировать ими таким образом (минус xlb, конечно).

Вы также можете создать библиотеку из своего исполняемого файла и скопировать ее локально. См. Здесь.

Что касается заголовков, просто используйте Словарь (Of String, Integer) или List (Of String), чтобы выяснить, каков индекс файла (ов).

...