Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2015, 15:42   #1
Valera
Пользователь
 
Регистрация: 23.06.2008
Сообщений: 86
По умолчанию Передача данных из Exsel в StringGrid

Код:
var
  Form1: TForm1;
  Excel: Variant;


implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 Excel:=CreateOleObject('Excel.Application');
with OpenDialog1 do
  if Execute then


    Excel.Application.WorkBooks.Add(FileName);
  Excel.Visible:=True; 
Excel.DisplayAlerts:=False;


end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
 try
  Excel.Quit;
except
end;
CanClose:=True;
 Excel:=Unassigned;

end;

procedure TForm1.Button2Click(Sender: TObject);
var i, j: integer;
begin
 with StringGrid1 do
  for i:=1 to RowCount-1 do
  for j:=1 to ColCount-1 do
    Cells[j, i]:=Excel.WorkSheets.Item['Ëèñò1'].Cells ;
    StringGrid1.Visible:=true;
end;

end.
Ошибка в строке
Cells[j, i]:=Excel.WorkSheets.Item['Лист1'].Cells ;
Несоответствие Variant и String.
Где тут ошибка?

Последний раз редактировалось Stilet; 25.08.2015 в 16:33.
Valera вне форума Ответить с цитированием
Старый 25.08.2015, 16:34   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Код:
Cells[j, i]:=Excel.WorkSheets.Item['Лист1'].Cells[i,j] ;
Ибо Cells - сие объект.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.08.2015, 17:13   #3
Valera
Пользователь
 
Регистрация: 23.06.2008
Сообщений: 86
По умолчанию

StringGrid1.Cells - это тип String. Это ж не объект?
Valera вне форума Ответить с цитированием
Старый 25.08.2015, 17:34   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Я говорю о Excel.WorkSheets.Item['Лист1'].Cells. Тут Cells это объект.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.08.2015, 13:20   #5
Valera
Пользователь
 
Регистрация: 23.06.2008
Сообщений: 86
По умолчанию

Этот код я списал с кокого-то сайта. Может, подскажете, где исправить, чтобы данные из Exsel были видны в StringGrid?
Valera вне форума Ответить с цитированием
Старый 26.08.2015, 13:48   #6
GreenWizard
мальчик-помогай =)
Форумчанин
 
Регистрация: 16.09.2010
Сообщений: 522
По умолчанию

Код:
 Cells[j, i]:=Excel.WorkSheets.Item['Лист1'].Cells [j, i].Text;
либо Value, если Text не прокатит
RTFM, будь мужиком (с) :-)
GreenWizard вне форума Ответить с цитированием
Старый 27.08.2015, 14:35   #7
Valera
Пользователь
 
Регистрация: 23.06.2008
Сообщений: 86
По умолчанию

Спасибо, уже сам нашел. Правильно:

Cells[j, i]:=Excel.WorkSheets.Item['Лист1'].Cells [j, i].Value;
Valera вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача данных между StringGrid'ами от клиента к серверу GrabbeR Работа с сетью в Delphi 6 18.07.2014 15:48
Сравнение ячеек данных Stringgrid и ячейками данных Access Gulden БД в Delphi 0 05.06.2012 11:26
exsel vba Екатерина92 Помощь студентам 1 21.12.2010 13:40
Передача данных StringGrid через ServerSocket - ClientSocket Polotenchik Общие вопросы Delphi 4 18.03.2010 01:42
Передача StringGrid в DLL Adamrus Общие вопросы Delphi 7 30.11.2009 21:46