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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.01.2010, 17:43
Taddy23 Taddy23 вне форума
Новичок
 
Регистрация: 28.04.2009
Сообщения: 54
Репутация: 10
По умолчанию перенести переменные в exel файл

Например, имеется 2 переменные
a:string;
b:real;

Не могли бы вы написать фрагмент кода, что бы создался exel файл
в 'C:\example.xls' .
На страничку sheet1 должна записаться переменная 'a' - в первый столбик 5 строчку.
На стрнаицу sheet2 должна записаться переменная 'b' в пятый столбик 1 строчку.(просьба вывести код как можно подробнее ничего не упуская)
Заранее очень благодарен!!!
Ответить с цитированием
  #2  
Старый 09.01.2010, 19:10
Taddy23 Taddy23 вне форума
Новичок
 
Регистрация: 28.04.2009
Сообщения: 54
Репутация: 10
Печаль

Это не возможно сделать что ли? или слишком сложно? или я не в ту ветку написал?
Ответить с цитированием
  #3  
Старый 09.01.2010, 19:33
Аватар для AND_REY
AND_REY AND_REY вне форума
Активный
 
Регистрация: 31.03.2009
Адрес: Украина, г.Днепропетровск
Сообщения: 324
Версия Delphi: Delphi7
Репутация: 3877
По умолчанию

Вот на эту тему у меня имеется инфа, сам не разберался КОД.rar может поможет.
Ответить с цитированием
  #4  
Старый 09.01.2010, 22:49
Taddy23 Taddy23 вне форума
Новичок
 
Регистрация: 28.04.2009
Сообщения: 54
Репутация: 10
По умолчанию

Спасибо, но чувствую новичку без комментов будет сложно разобраться
Ответить с цитированием
  #5  
Старый 10.01.2010, 01:11
Аватар для AND_REY
AND_REY AND_REY вне форума
Активный
 
Регистрация: 31.03.2009
Адрес: Украина, г.Днепропетровск
Сообщения: 324
Версия Delphi: Delphi7
Репутация: 3877
По умолчанию

Разобрался, самый простой пример:
Код:
uses 
 ComObj;
procedure TForm1.Button1Click(Sender: TObject);
Var
 E: Variant;
begin
 E:= CreateOleObject('Excel.Application');
 E.DisplayAlerts:= False;
 E.Workbooks.Add;
 E.WorkBooks[1].WorkSheets[1].Cells[6,4]:= 'Ку-ку.';
 E.ActiveWorkbook.SaveAs('C:\Пример.xls');
 E.Quit;
end;
Ответить с цитированием
  #6  
Старый 10.01.2010, 04:17
Knowing Knowing вне форума
Прохожий
 
Регистрация: 03.03.2008
Сообщения: 3
Репутация: 10
По умолчанию

не конкретно к этой задачи но понять что куда мона
Код:
procedure CreateFileExcel(kolFiles:integer); //----Создание Excel файла отчета -------
var stolb : byte;
    x, y, i: integer;
    XL: Variant;
    f:TextFile;
begin
 XL := CreateOleObject('Excel.Application'); // Создание OLE объекта
 XL.DisplayAlerts := False;//не показывать предупреждающие сообщения
 XL.WindowState := -4137;//Открывать Excel на полный экран
 if not(FileExists(stDir+'\RPO_'+copy(DateToStr(date),4,7)+'.xls')) then //Если нету файла отчета за текуший месяц создаем его
  begin
   XL.WorkBooks.add; // Создание новой рабочей книги
   XL.WorkBooks[1].WorkSheets[1].Cells[1,2].Value:='OPS'; // Вторая колонка Шапка 'OPS'
   XL.Range['A1:AG'+IntToStr(StrToInt(baza[0,0])+1)].Select; //Выделение всех рабочих ячеек
   XL.Selection.Borders.LineStyle:=1; // Устанавливаем стиль борьера ячеек выделенных
   XL.Selection.VerticalAlignment:=3; // Вертикальное выравнивание поЦентру
   XL.Selection.HorizontalAlignment:=3; // Горизонтальное выравнивание поЦентру
   XL.Selection.ColumnWidth:=12; // ширина выделенных столбцов 12
   XL.Range['C2:AG'+IntToStr(StrToInt(baza[0,0])+1)].Select;
   XL.Selection.Borders.LineStyle:=2;
   XL.Range['A1:A1'].Select;
   for i:=1 to StrToInt(baza[0,0]) do // заполняем 1-й и 2-й столбец
    begin
     XL.WorkBooks[1].WorkSheets[1].Cells[i+1,1].Value:=IntToStr(i);
     XL.WorkBooks[1].WorkSheets[1].Cells[i+1,2].Value:=baza[i,0];
    end;
   for i:=1 to 31 do // Заполняем Шапку датами за текуший месяц с 1 по 31
    XL.WorkBooks[1].WorkSheets[1].Cells[1,i+2].Value:=IntToStr(i)+copy(DateToStr(date),3,8);
  end
  else//Иначе Если файл есть то редоктируем его
   begin
    if FileExists(stDir+'\RPO_'+copy(DateToStr(date),4,7)+'.xls') then
     begin
      XL.ActiveWorkbook.Close;
      XL.Application.Quit;
     end;
    XL.WorkBooks.Open(stDir+'\RPO_'+copy(DateToStr(date),4,7)+'.xls');    //Открываем рабочую книгу
    XL.WorkSheets[1].Activate;    //Становимся на первый лист
   end;
 frmMain.Pg.Position:=0;
 frmMain.Pg.Max:=kolFiles;
 for x:=1 to kolFiles do
  begin
   frmMain.PRG.Caption:=Files[x].Index;
   for y:=1 to StrToInt(baza[0,0]) do
    if Files[x].Index=baza[y,0] then
     begin
      XL.WorkBooks[1].WorkSheets[1].Cells[y+1,StrToInt(copy(Files[x].Date,3,2))+2].Value:=Files[x].Name;
     end;
   FileCopy(stDir+'\UnZip\'+Files[x].Name,stDir+'\'+DateToStr(Date)+'\'+Files[x].Name);
   DeleteFile(stDir+'\UnZip\'+Files[x].Name);
   frmMain.PG.Position:=frmMain.PG.Position+1;
  end;
 frmMain.PG.Position:=0;
 frmMain.PRG.Caption:='Creating Excel Reports Complite!!!';
 XL.WorkBooks[1].WorkSheets[1].Cells[1,1].Value:=TimeToStr(Time);
 XL.ActiveWorkbook.SaveAs(stDir+'\RPO_'+copy(DateToStr(date),4,7)+'.xls');
 XL.ActiveWorkbook.Close;
 XL.Application.Quit;
end;
Ответить с цитированием
  #7  
Старый 10.01.2010, 14:36
Taddy23 Taddy23 вне форума
Новичок
 
Регистрация: 28.04.2009
Сообщения: 54
Репутация: 10
По умолчанию

Спасибо огромное вам! =)
разобрался, даже больше чем требовалось
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter