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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вставка в Excel строчки 
V
    Опции темы
DEER
Дата 10.8.2006, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 749
Регистрация: 12.4.2005
Где: г. Рязань

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



задача такая: нарисовать отчет. Для этого надо получать из шаблона строку, и размножать её заполная даными.

почитал про работу с Excel тут и про вставку в лист тут, вроде разобрался, но не до конца понял про вставку строки в лист
если пишу
Код

Excel.Range range = (Excel.Range)wsReport.Cells[1,1];
range.Select();
range.Insert(Excel.XlInsertShiftDirection.xlShiftDown, optional);

то он вставляет только одну ячейку в лист, а хотелось бы строку целиком.
попробовал вот так
Код

Excel.Range range = (Excel.Range)wsReport.Rows[1,1];
range.Select();
range.Insert(Excel.XlInsertShiftDirection.xlShiftDown, optional);

вылетает исклучение Exception from HRESULT: 0x800A03EC
попробовал в Excel'е выделить строку и вставить пишет такой код
Код

    Rows("5:5").Select
    Selection.Insert Shift:=xlDown


Вопрос такой. как выделить всю строку в листе Excel'я и добавить строчку выше неё?



--------------------
 
PM MAIL WWW ICQ MSN   Вверх
Naum
Дата 10.8.2006, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

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



Цитата(DEER @  10.8.2006,  11:31 Найти цитируемый пост)
Excel.Range range = (Excel.Range)wsReport.Rows[1,1];
range.Select();
range.Insert(Excel.XlInsertShiftDirection.xlShiftDown, optional);


По-моему все верно. Только
Код

Excel.Range range=(Excel.Range)wsReport.Rows[1];




--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
DEER
Дата 10.8.2006, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 749
Регистрация: 12.4.2005
Где: г. Рязань

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



А так оно вообще не компилится.... говорит что нужно два индекса


--------------------
 
PM MAIL WWW ICQ MSN   Вверх
Naum
Дата 10.8.2006, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

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



А почему не попробовать как пишет Excel.

Код

 wsReport.Rows[1].Select;
 wsReport.Selection.Insert(Excel.XlInsertShiftDirection.xlShiftDown,optional);



--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
DEER
Дата 10.8.2006, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 749
Регистрация: 12.4.2005
Где: г. Рязань

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



пробовать то можно, только без толку... 
конечно же я по разному пробовал..
так тоже не компилится


--------------------
 
PM MAIL WWW ICQ MSN   Вверх
mr.DUDA
Дата 10.8.2006, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Записать в самом экселе макрос и посмотреть, как это будет на VBA, потом перевести в C#.


--------------------
user posted image
PM MAIL WWW   Вверх
Naum
Дата 10.8.2006, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

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



mr.DUDA, так вот это по-моему и есть Excel-евский макрос

Цитата(DEER @  10.8.2006,  11:31 Найти цитируемый пост)
    Rows("5:5").Select
    Selection.Insert Shift:=xlDown


говорят не компилится.


--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
DEER
Дата 10.8.2006, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 749
Регистрация: 12.4.2005
Где: г. Рязань

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



Всё, с этим разобрался
Код

Excel.Range range = (Excel.Range)wsReport.get_Range("5:5", optional);
range.Select();
range.Insert(Excel.XlInsertShiftDirection.xlShiftDown, optional);


Добавлено @ 14:50 
ЗЫ. 
Всем спасибо  smile 


--------------------
 
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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