Текущий архив: 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