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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Позднее связывание и Excel 
:(
    Опции темы
Berserk
  Дата 20.2.2007, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 14.12.2006
Где: Столица Донбасса - Горловка

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



Необходимо вывести отчет в Excel 2000. Для Excel 2003 программа у меня есть(применяется раннее связывание, все работает). А вот с более ранними версиями раннее связывание не работает. 

Подключение Excel, получение ссылок на книги, страницы.... это получается, но мне интересно следующее:

Есть такой метод
Код

public object InvokeMember(string name, BindingFlags flags, Binder binder, object target, object[] args);
 
которым я и пользуюсь для позднего связывания.
>>Все возможные варианты name и их характеристики? Если можно то ссылочку.()

но главный вопрос в следующем: 
>>Из одного листа перенести данные на другой?



 
--------------------
  
PM MAIL ICQ   Вверх
Yama
Дата 20.2.2007, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Вот тебе ссылочка smile.

Добавлено @ 14:02 
Цитата(Berserk @  20.2.2007,  13:33 Найти цитируемый пост)
Из одного листа перенести данные на другой?

Если делал до сих пор для раннего связывания - принцип один и тот же - вычитываешь данные из нужных тебе ячеек 1го листа, делаешь новый объект как ссылку на 2й лист и заносишь эти данные на 2й лист.
Код

Microsoft.Office.Interop.Excel.Worksheet ws1 = (Microsoft.Office.Interop.Excel.Worksheet)wb.Sheets.get_Item((Object)1);//Получаем ссылку на 1й лист
Microsoft.Office.Interop.Excel.Worksheet ws2 = (Microsoft.Office.Interop.Excel.Worksheet)wb.Sheets.get_Item((Object)2);//Получаем ссылку на 2й лист
Microsoft.Office.Interop.Excel.Range r1=(Microsoft.Office.Interop.Excel.Range)ws1.Cells.get_Item((Object)(int)1, (Object)(int)1) ;//получаем ссылку на ячейку 1,1 1го листа
String textValue=(String)r1.Text;
Microsoft.Office.Interop.Excel.Range r2=(Microsoft.Office.Interop.Excel.Range)ws2.Cells.get_Item((Object)(int)1, (Object)(int)1) ;//получаем ссылку на ячейку 1,1 2го листа
r2.set_Value(Microsoft.Office.Interop.Excel.XlRangeValueDataType.xlRangeValueDefault,(Object) textValue);//Вставляем нужные значения в ячейку 1,1 2го листа

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

З.Ы. С поздним связыванием я сам не работал, но по тексту статью все, в принцине, так же, только работать надо с классом Object, в который будут передаваться ссылки на нужные нам классы Exel"я и мороки больше.
--------------------
Если бы строители строили дома так же, как программисты пишут программы, то первый же залетевший в форточку дятел разрушил бы всю нашу цивилизацию.
PM MAIL   Вверх
Berserk
Дата 20.2.2007, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 14.12.2006
Где: Столица Донбасса - Горловка

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



За ссылочку спасибо, но именно по ней я и пытаюсь писать свою прогу.
--------------------
  
PM MAIL ICQ   Вверх
Yama
Дата 20.2.2007, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Как пример я привел алгоритм, каким образом можно из одного листа перенести данные на другой. Само собой разумеется, что при использовании позднего связывания этот код не применим. Но это лишь общий алгоритм для переноса данных между страницами...
--------------------
Если бы строители строили дома так же, как программисты пишут программы, то первый же залетевший в форточку дятел разрушил бы всю нашу цивилизацию.
PM MAIL   Вверх
Berserk
Дата 21.2.2007, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 14.12.2006
Где: Столица Донбасса - Горловка

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



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

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


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

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


 




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


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

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