Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.24;
Скачать: CL | DM;

Вниз

Excel   Найти похожие ветки 

 
Alex-kosmonavt   (2003-11-05 14:07) [0]

Помогите!
Вижу что в Делфи 7 есть клевые компоненты для работы с Экселем, но немогу понять как создать с их помощью новый файл.Подскажите на примере ExcelApplication или ExcelWorkbook


 
Малиновский Владимир   (2003-11-05 15:21) [1]

var
exApp: TExcelApplication;
exWB: TExcelWorkbook;
exWS: TExcelWorksheet;
...
begin
...

try
exApp.Connect;
exApp.Application.EnableEvents := false; // Ускоряем
exApp.SheetsInNewWorkbook[0] := 1;
exApp.Workbooks.Add(EmptyParam{xlWBATWorksheet},0);
exWB.ConnectTo(exApp.ActiveWorkbook);
exWS.ConnectTo(exWB.Sheets[1] as _Worksheet);
except
on E : Exception do begin
ShowMessage("Ошибка активизации приложения Microsoft Excel. "+
E.Message);
exit
end;
end;

BuildReport; // Здесь строим отчет в Excel и делаем его
видимым : exApp.Visible[0] := True; // Ну, что получилос?

finally
exWS.Disconnect;
exWB.Disconnect;
exApp.Disconnect;
end;

end;


 
Малиновский Владимир   (2003-11-05 15:24) [2]

Да, не забудь перед всей этой лабудой вызвать конструкторы для

exApp: TExcelApplication;
exWB: TExcelWorkbook;
exWS: TExcelWorksheet;

... или просто размести их на форме...


 
Alex-kosmonavt   (2003-11-05 15:51) [3]

Супер!!!
Спасибо!!!
Единственное , а как задать изначально имя создаваемого файла??
ну тоесть я запущу диалог бокс и получу стринг с именем файла, а куда его воткнуть??


 
Малиновский Владимир   (2003-11-05 16:16) [4]

Add Method (Workbooks Collection)


Creates a new workbook. The new workbook becomes the active workbook. Returns a Workbook object.

Syntax

expression.Add(Template)

expression Required. An expression that returns a Workbooks object.

Template Optional Variant. Determines how the new workbook is created. If this argument is a string specifying the name of an existing Microsoft Excel file, the new workbook is created with the specified file as a template. If this argument is a constant, the new workbook contains a single sheet of the specified type. Can be one of the following XlWBATemplate constants: xlWBATChart, xlWBATExcel4IntlMacroSheet, xlWBATExcel4MacroSheet, or xlWBATWorksheet. If this argument is omitted, Microsoft Excel creates a new workbook with a number of blank sheets (the number of sheets is set by the SheetsInNewWorkbook property).

Remarks

If the Template argument specifies a file, the file name can include a path.

То есть вместо
exApp.Workbooks.Add(EmptyParam{xlWBATWorksheet},0);
пишешь
exApp.Workbooks.Add(ExtractPath(Application.exename)+MyOpenDialog.FileName,0);
или просто
exApp.Workbooks.Add("C:\MyNewBook.XLS",0);


 
Alex-kosmonavt   (2003-11-05 16:20) [5]

угу, сенькс


 
Alex-kosmonavt   (2003-11-05 16:43) [6]

С именем файла не выходит, он пишет что не может найти файл с таким именем, типа проверьте не был ли он перемещен или удален.


 
Малиновский Владимир   (2003-11-05 16:51) [7]

Ну да, типа открываем либо существующий файл, либо создаем новую книгу с именем КнигаXX.
Создай файл по варианту 1, потом сразу сохрани его с нужным именем и снова открой по варианту 2.
Вообще, Excel узнает имя файла при попытке сохранения. Пусть юзеры и обзывают его сами. Или из Delphi заставляй делать SaveAs


 
Alex-kosmonavt   (2003-11-05 16:58) [8]

Владимир, а заодно не подскажешь как правильно сделать экспорт набора данных??
везде в примерах встречал,как последовательный перебор ячеек dbGrid, но ведь по сути это ж только отображение, можно как нибудь экспортировать набор данных используя свойства типа Range или что-то вроде этого??


 
Малиновский Владимир   (2003-11-05 17:09) [9]

Да пожалуйста.
Вчера копался с компонентами Globus - там есть один для экспорта в Excel. В коде - как раз там всякие Range используются, т.е. довольно эффективно.


 
Alex-kosmonavt   (2003-11-05 17:11) [10]

а ссылочку??


 
Малиновский Владимир   (2003-11-05 17:14) [11]

Ну ты совсем опух...

http://shop.biblio-globus.ru/cpr/GlobusLib.htm



Страницы: 1 вся ветка

Текущий архив: 2003.11.24;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.026 c
1-78909
Владимир
2003-11-11 20:05
2003.11.24
Потомки TWinContril


1-78992
Алина
2003-11-14 12:51
2003.11.24
Настоящие профи, скажите почему при печати формы с ChartFx


3-78768
MaD
2003-11-04 13:51
2003.11.24
Посогите построить SQL запрос


3-78784
Islander
2003-11-05 15:25
2003.11.24
Как проверить данные перед посылкой в БД, работая через ADO


1-78956
boby_g
2003-11-11 21:58
2003.11.24
Функция Pos с параметром BegPos???