powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Excel, позднее связывание. Копирование диапазона ячеек
10 сообщений из 10, страница 1 из 1
Excel, позднее связывание. Копирование диапазона ячеек
    #38274291
SourLime
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Пишу программу на C# для работы с файлами Excel. Использую позднее связывание.
Необходимо сделать копирование больших частей таблицы из одного файла в другой. С копированием по одной ячейке программа справляется слишком долго: 2 таблицы 25х30 копируются около 8 минут, а таких таблиц копировать придется много. Очевидно, что даже руками открыть, скопировать весь диапазон и вставить будет куда быстрее). Но как это сделать программно?

Именно для позднего связывания не нашел подобных примеров, и не понял, как переделать пример с ранним связыванием.
Выделить диапазон, в принципе, легко. Но что с ним дальше делать? Где хранить, как вставлять?

Помогите пожалуйста!
...
Рейтинг: 0 / 0
Excel, позднее связывание. Копирование диапазона ячеек
    #38274532
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
object[,]
	values = { { 11, 12 }, { 21, 22 }, { 31, 32 } };

Range1 = Sheet1.GetType().InvokeMember("Range", BindingFlags.GetProperty, null, Sheet1, new object[] { "F1", "G3" });
Range1.GetType().InvokeMember("Value", BindingFlags.SetProperty, null, Range1, new object[] { values });

object[,]
	values_out;

values_out = (object[,])Range1.GetType().InvokeMember("Value", BindingFlags.GetProperty, null, Range1, null);


???
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Excel, позднее связывание. Копирование диапазона ячеек
    #38275731
SourLime
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ex_Soft,

Шикарно, все работает, как надо, почти в 70 раз быстрее:) Огромное спасибо
...
Рейтинг: 0 / 0
Excel, позднее связывание. Копирование диапазона ячеек
    #38277174
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ex_Soft
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
object[,]
	values = { { 11, 12 }, { 21, 22 }, { 31, 32 } };

Range1 = Sheet1.GetType().InvokeMember("Range", BindingFlags.GetProperty, null, Sheet1, new object[] { "F1", "G3" });
Range1.GetType().InvokeMember("Value", BindingFlags.SetProperty, null, Range1, new object[] { values });

object[,]
	values_out;

values_out = (object[,])Range1.GetType().InvokeMember("Value", BindingFlags.GetProperty, null, Range1, null);


???
_________________
"Helo, word!" - 17 errors 56 warnings

почему вы всё ещё используете такую манеру работы с excel, может уже пора юзать dynamic.
Хотя там есть свои подводные камни, но так удобнее всё равно.
...
Рейтинг: 0 / 0
Excel, позднее связывание. Копирование диапазона ячеек
    #38277185
cooldeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Progaможет уже пора юзать dynamic
Не все могут использовать .NET 4.0 и выше.
...
Рейтинг: 0 / 0
Excel, позднее связывание. Копирование диапазона ячеек
    #38277287
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cooldeveloperНе все могут использовать .NET 4.0 и выше.Все могут сгенерировать интеропную сборку. Хотя, зачем я это рассказываю...
...
Рейтинг: 0 / 0
Excel, позднее связывание. Копирование диапазона ячеек
    #38278059
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВсе могут сгенерировать интеропную сборку.
Дык, в лом же... Ну, и
SourLimeИменно для позднего связывания...
...
Рейтинг: 0 / 0
Excel, позднее связывание. Копирование диапазона ячеек
    #38278108
gpu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КcooldeveloperНе все могут использовать .NET 4.0 и выше.Все могут сгенерировать интеропную сборку. Хотя, зачем я это рассказываю...
не провоцируй а то опять про Open XML SDK читать будешь
...
Рейтинг: 0 / 0
Excel, позднее связывание. Копирование диапазона ячеек
    #38278113
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВсе могут сгенерировать интеропную сборку. Хотя, зачем я это рассказываю...
чреватое это занятие - генерить интеропные сборки
для MTP, например, интеропная сборка генерится криво (в маршаллинге ошибки)
...
Рейтинг: 0 / 0
Excel, позднее связывание. Копирование диапазона ячеек
    #38278321
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилАлексей КВсе могут сгенерировать интеропную сборку. Хотя, зачем я это рассказываю...
чреватое это занятие - генерить интеропные сборки
для MTP, например, интеропная сборка генерится криво (в маршаллинге ошибки)Ну не без этого. В библиотеке типов Excel ошибку видел, не помню где...
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Excel, позднее связывание. Копирование диапазона ячеек
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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