![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Например, имеется 2 переменные
a:string; b:real; Не могли бы вы написать фрагмент кода, что бы создался exel файл в 'C:\example.xls' . На страничку sheet1 должна записаться переменная 'a' - в первый столбик 5 строчку. На стрнаицу sheet2 должна записаться переменная 'b' в пятый столбик 1 строчку.(просьба вывести код как можно подробнее ничего не упуская) Заранее очень благодарен!!! |
#2
|
|||
|
|||
![]() Это не возможно сделать что ли? или слишком сложно? или я не в ту ветку написал?
|
#4
|
|||
|
|||
![]() Спасибо, но чувствую новичку без комментов будет сложно разобраться
|
#5
|
||||
|
||||
![]() Разобрался, самый простой пример:
Код:
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
|
|||
|
|||
![]() не конкретно к этой задачи но понять что куда мона
Код:
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
|
|||
|
|||
![]() Спасибо огромное вам! =)
разобрался, даже больше чем требовалось |