Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 392

/ вопрос решён /

Здравствуйте, эксперты!
Подскажите вот такую вещь. у меня в программе есть stringgrid, количество столбцов и строк в нем не меняется. строк 16, столбцов 11. так же есть шаблон excel.так вот как передать в excel все данные из stringgrid, но при этом что бы не нарушался внешний вид шаблона( ширена и длина ячеек). к примеру в ячейки B8:B22 передался весь 1 столбец stringgrid, с8:c22 - 2 столбец stringgrid и т.д.
Вот так пробовал, открывает excel, но выдает ошибку :"Неверный тип переменой"

 
Excel:=CreateOleObject('Excel.Application');
Workbook:=Excel.Workbooks.Open(ExtractFilePath(ParamStr(0)) + 'Лист.xlsx');
Sheet:= WorkBook.Sheets[1];
Excel.Visible:=true;
excel.Range['b8:b22']:= stringgrid1.Cols[0];

Анучин Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: Анучин (статус: Посетитель)
Вопрос отправлен: 9 июня 2011, 00:37
Состояние вопроса: решён, ответов: 1.

Ответ #1. Отвечает эксперт: corban

Здравствуйте, Анучин!
правильно, что выскакивает ошибка: вы передаете в диапазон ячеек столбец, а не значения ячеек. Попробуйте так:
r_Start:=7;//начальное смещение строк в екселе
c_Start:=1;//начальное смещение столбцов в екселе

for i:=1 to 16 do // столбцы
for j:=1 to 11 do //строки
Sheet.Cells[c_Start+i,r_Start+j]:=stringgrid1.Cell[i,j];

Ответ отправил: corban (статус: 2-ой класс)
Время отправки: 9 июня 2011, 03:25
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 0.

10 июня 2011, 02:19: Статус вопроса изменён на решённый (изменил автор вопроса — Анучин)

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 16:45
Выполнено за 0.02 сек.