Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 10.01.2010, 22:05
MadMan86 MadMan86 вне форума
Прохожий
 
Регистрация: 09.01.2010
Сообщения: 10
Репутация: 10
По умолчанию Помогите! Из Delphi в Excel

Работаю в Delphi 7

У меня 5 ListBox'ов со множеством значений, эти значения, при нажатии кнопки, необходимо разместить в разных колонках Екселя (из ListBox1 в колонку А, из ListBox2 в колонку В и т. д.), как быть в таком случае ?

Напишите пожалуйста код.
Ответить с цитированием
  #2  
Старый 10.01.2010, 22:31
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Вот похожая тема, с примерами,
http://www.delphisources.ru/forum/sh...ad.php?t=10500
Ответить с цитированием
  #3  
Старый 10.01.2010, 22:43
MadMan86 MadMan86 вне форума
Прохожий
 
Регистрация: 09.01.2010
Сообщения: 10
Репутация: 10
По умолчанию

Я читал эту тему, она не подходит. Благодаря этой теме я лишь смог добавить в Excel первоначальные данные, которые я задаю для расчета, но это в принципе мне не особо нужно было...
Необходимо вывести результаты из ListBox'ов в Excel.
Ответить с цитированием
  #4  
Старый 10.01.2010, 22:47
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Никакой практически разницы. Этот пример вам подойдет. Думайте.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 10.01.2010, 23:02
MadMan86 MadMan86 вне форума
Прохожий
 
Регистрация: 09.01.2010
Сообщения: 10
Репутация: 10
По умолчанию

Я просто, можно сказать второй день в своей жизни имею дело с Delphi
Поэтому, что мог, подчеркнул от туда...
Чисто интуитивно думаю надо ввести еще какую то переменную, но в связи с тем, что я очень плохо разбираюсь в програмировании додумать что и куда у меня не получится ((
Ответить с цитированием
  #6  
Старый 10.01.2010, 23:11
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Ты не сдавайся, и больше читай, вывести одно значение в ексель смог?, что тебе мешает вывести туда список значений? по циклу)
Ответить с цитированием
  #7  
Старый 10.01.2010, 23:14
MadMan86 MadMan86 вне форума
Прохожий
 
Регистрация: 09.01.2010
Сообщения: 10
Репутация: 10
По умолчанию

Мешает незнание и отсутствие времени для чтения
Ответить с цитированием
  #8  
Старый 10.01.2010, 23:20
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Ладно, вот тебе подсказка, для одного из листбоксов твоих,
Код:
  ...
  for i:=0 to ListBox1.Items.Count-1 do
    XL.WorkBooks[1].WorkSheets[1].Cells[1,i].Value:=ListBox1.Items.Strings[i];
  ...
Ответить с цитированием
  #9  
Старый 10.01.2010, 23:35
MadMan86 MadMan86 вне форума
Прохожий
 
Регистрация: 09.01.2010
Сообщения: 10
Репутация: 10
По умолчанию

Простите грешного, но не получается (((

вот код:

Код:
procedure TForm1.Button3Click(Sender: TObject);
 Var
 E: Variant;
 i: integer;

begin
E:= CreateOleObject('Excel.Application');
E.DisplayAlerts:= False;
E.Workbooks.Add;
E.ActiveWorkbook.SaveAs('C:\Ïðèìåð.xls');

   begin

    for i:=0 to ListBox1.Items.Count-1 do
    E.WorkBooks[1].WorkSheets[1].Cells[1,i].Value:=ListBox1.Items.Strings[i];

   end;

Выдает ошибку: Project Project2.exe raised exception class EOleException with message 'OLE error 800A03EC'. Process stopped. Uses Step or Run to continue.
Ответить с цитированием
  #10  
Старый 11.01.2010, 00:06
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Держи, проверил, работает...
Код:
procedure TForm1.Button1Click(Sender: TObject);
Var
  E: Variant;
  i: integer;
begin
  E:= CreateOleObject('Excel.Application');
  E.DisplayAlerts:= False;
  E.Workbooks.Add;
  for i:=0 to ListBox1.Items.Count-1 do
    E.WorkBooks[1].WorkSheets[1].Cells[i+1,1].Value:=ListBox1.Items.Strings[i];
  E.ActiveWorkbook.SaveAs('c:\1.xls');  //сохраняем вконце
  E.ActiveWorkbook.Close;              //незабываем закрыть!!!
  E.Application.Quit;                 //и покинуть ексель
end;
Ответить с цитированием
  #11  
Старый 11.01.2010, 00:14
MadMan86 MadMan86 вне форума
Прохожий
 
Регистрация: 09.01.2010
Сообщения: 10
Репутация: 10
По умолчанию

Asinkrit Благодарю!!!

Все получилось как мне нужно было!! ListBox1 в колонку А, из ListBox2 в колонку В и т. д.

УРРАА!!!
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:12.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025