Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - [решено] перекинуть данные из Excel в прогу на Delphi

Ответить
Настройки темы
Delphi - [решено] перекинуть данные из Excel в прогу на Delphi

Пользователь


Сообщения: 121
Благодарности: 7

Профиль | Отправить PM | Цитировать


Изменения
Автор: anatoly_neo
Дата: 18-04-2011
Изображения
Тип файла: jpg проект.jpg
(187.8 Kb, 17 просмотров)
Вложения
Тип файла: xls Пример.xls
(15.5 Kb, 20 просмотров)
Привет всем.
Помогите решить задачку. Есть файл эксель, содержит в себе данные в трёх столбцах (пример приложен) и примерно 25 строчках, на одном листе. Надо из него подгрузить эти данные в программу на Delphi в модуль StringGrid.
На скрине зафиксировал то чего уже удалось добиться в графическом виде, с кодом пока значительно сложнее, посему и прошу вашей помощи. Хотелось бы чтобы поподробнее объяснили, что к чему, зачем и почему.
Спасибо.

PS: хотелось бы сразу добавить небольшое усложнение задачи, сделать так чтобы программа в зависимости от времени суток выводила только нужные строки. То есть, в первом столбце таблицы Excel у нас будет время (в формате HH:MM), вот надо чтобы прога выводила например строки с временем с 9:00 до 15:00 именно в это время суток, следующую часть строк (с 15:00 до 21:00) она уже выводила именно с 15 до 21 часа.

Отправлено: 16:56, 18-04-2011

 

Аватара для Хоф

Пользователь


Сообщения: 105
Благодарности: 10

Профиль | Отправить PM | Цитировать


Я нашел в ru.Wikipedia.org - по теме OLE. Насколько я понял это было создано Microsoft для связывания различных данных из различных программ (в тч Adobe Flash Player) в программы семейства Microsoft. Далее ссылка идет на MSDN (Через Гогль Хром все быстро переводится на русский) В общих чертах понятно. Нужно теперь нарыть русскоязычную литературу в энтом направлении.

-------
коллекционирую выдвижные столики..... для кофе.


Отправлено: 14:14, 22-04-2011 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата LilLoco:
Так, если я правильно понял, то, Технология OLE позволяет работать с программами разработанными Только компанией Microsoft. »
Вы неправильно поняли.
Цитата LilLoco:
Соответственно, невозможно так работать с любой программой! »
А это — правильно. Приложение должно уметь работать в качестве сервера Automation, и быть корректно зарегистрировано в реестре при своей инсталляции, дабы клиент (в данном случае — наше приложение) могло его вызывать и работать с ним.


Цитата Хоф:
Я нашел в ru.Wikipedia.org - по теме OLE. »
Смотреть лучше в английский версии: OLE Automation - Wikipedia, the free encyclopedia — и ссылок куда больше, и качество их лучше.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:48, 22-04-2011 | #22


Пользователь


Сообщения: 121
Благодарности: 7

Профиль | Отправить PM | Цитировать


что-то я не понимаю слегка, сделал такой цикл:
Код: Выделить весь код
  for i := 1 to 10 do
  for j := 1 to 3 do
        begin
          sg3.cells[i - 1, j - 1] := Form4.SG1.Cells[i ,j ];
и что-то не пашет

вот еще бы хотелось понять, на что заменить в данной строке (for i := 1 to 10 do) цифру 10, чтобы таки цикл был до конца СтрингГрида (SG1)? ну и соответственно во второй строке цифру 3 (хотя ее можно не менять.)
и что то мне кажется я не то пишут вот тут - sg3.cells[i - 1, j - 1] := Form4.SG1.Cells[i ,j ]; - помогите плиз понять в чём загвоздка?

Отправлено: 16:05, 25-04-2011 | #23


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


Цитата anatoly_neo:
и что-то не пашет »
Что именно?
может быть нужно :
Код: Выделить весь код
for i := 1 to 10 do
begin
for j := 1 to 3 do
begin
//что то делаем
end;
end;
Цитата anatoly_neo:
на что заменить в данной строке (for i := 1 to 10 do) цифру 10 »
Код: Выделить весь код
Form4.SG1.RowCount // Количество строк в StringGrid
Цитата anatoly_neo:
ну и соответственно во второй строке цифру 3 »
Использовать количество столбцов!
Цитата anatoly_neo:
что то мне кажется я не то пишут вот тут »
Поподробнее можно?)

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:17, 25-04-2011 | #24


Пользователь


Сообщения: 121
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата LilLoco:
LilLoco »
вот что у меня получилось в итоге:
Код: Выделить весь код
begin
  for i := 1 to Form4.SG1.RowCount do
  begin
  for j := 1 to 3 do
        begin
          sg3.cells[i - 1, j - 1] := Form4.SG1.Cells[i ,j ];
        end;
end;
end;
но переброса данных из черновика в чистовик не произошло

Цитата LilLoco:
Цитата anatoly_neo:
что то мне кажется я не то пишут вот тут »
Поподробнее можно?) »
вот мне и кажется, что где-то я ошибаюсь в том что пишу, поэтому и переброс не происходит, ткните плиз мордочкой где не так?

Последний раз редактировалось anatoly_neo, 26-04-2011 в 09:28.


Отправлено: 09:17, 26-04-2011 | #25


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


Сколько строк у Вас изначально в чистовике и черновике?
Цитата anatoly_neo:
не произошло »
А хоть что нибудь происходит? тяжело судить о проблеме, исходя из Ваших "показаний"! Может быть какая нить ошибка, может еще что нибудь) Поясните)

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}


Отправлено: 09:31, 26-04-2011 | #26


Пользователь


Сообщения: 121
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата LilLoco:
Сколько строк у Вас изначально в чистовике и черновике? »
в черновике 25 строк, в чистовике 10 (по задумке, там будут отображаться только те записи, которые подходят по времени), посему и количество строк меньше

Цитата LilLoco:
А хоть что нибудь происходит? »
происходит, открывается программа (вторая форма, типа чистовик), но таблица в ней пустая.

Отправлено: 09:38, 26-04-2011 | #27


Пользователь


Сообщения: 121
Благодарности: 7

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: jpg черновик.jpg
(364.3 Kb, 7 просмотров)
Тип файла: jpg чистовик.jpg
(65.4 Kb, 7 просмотров)

прикрепил два скрина для наглядности что как и куда планируется сделать, может чем то поможет )

Отправлено: 09:57, 26-04-2011 | #28


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: rar Project1.rar
(8.4 Kb, 36 просмотров)

Держите, набросал, посмотрите и отредактируйте как Вас нужно! Вроде все работает!)

Скоро в интернете появится вся база номеров автомобилей и их владельцев :D :D :D
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:11, 26-04-2011 | #29


Пользователь


Сообщения: 121
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата LilLoco:
Скоро в интернете появится вся база номеров автомобилей и их владельцев :D :D :D »

не правда, это всего лишь презентация записи на обслуживание.

пытаюсь разобраться с вашим примером, спасибо


PS: подшаманил под себя то что Вы привели в примере, и... заработало ))))))))

Последний раз редактировалось anatoly_neo, 26-04-2011 в 11:00.


Отправлено: 10:50, 26-04-2011 | #30



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - [решено] перекинуть данные из Excel в прогу на Delphi

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
как перекинуть все данные с одного компа на другой Pavelasd Хочу все знать 9 27-06-2011 06:32
CMD/BAT - [решено] Как внести данные в реестр из батника без подтверждения запроса и запустить прогу? Nun-Nun Скриптовые языки администрирования Windows 3 11-05-2011 11:41
Как из сим карты перекинуть данные старые в новый телефон? micro8 Мобильные ОС, смартфоны и планшеты 4 27-09-2010 18:48
2007 - Excel | Не отображаются данные devilless Microsoft Office (Word, Excel, Outlook и т.д.) 0 08-07-2010 09:49
Delphi - Delphi: как закрыть чужую прогу pvr30 Программирование и базы данных 13 06-08-2003 19:15




 
Переход