![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
использование Excel
volph777 © (2002-10-07 10:36:00)Есть вот кусок кода
try
IExcelApp := CoExcelApplication.Create; // загрузили сервер
//IExcelApp.Visible[xlLCID] := true; // отобразили сервер
IExcelWB := IExcelApp.Workbooks.Open(GetCurrentDir + "\report1.xls", EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, false, xlLCID);
IExcelWB.Activate(xlLCID); // активировали книгу
IExcelWS := IExcelWB.Worksheets.Item["Лист1"] as Excel97._Worksheet; // получили ссылку на лист
IExcelWS.Activate(xlLCID); // активировали лист
DIExcelR:= IExcelWS.Range["A2", "A2"] as Excel97.Range; // получили ссылку на область
DIExcelR.Activate; // активировали область
DIExcelR.Value := "Счет-фактура № "; // записали заголовок
DIExcelR := nil; // освободили область
IExcelWS.Name := "Счет-фактура № "; // переименовали лист
IExcelWS := nil; // освободили лист
IExcelWB.PrintOut(EmptyParam, EmptyParam, 1, false, EmptyParam, false, EmptyParam, xlLCID); // распечатали содержимое
// IExcelWB.SaveAs(Directories + "AccountInvoice_" + IntToStr(NumberAccInv) + ".xls", EmptyParam, EmptyParam, EmptyParam, false, false, xlNoChange, EmptyParam, false, EmptyParam, EmptyParam, xlLCID); // сохранили книгу
IExcelWB.Close(true, "1.xls", false, xlLCID); // закрыли книгу
IExcelWB := nil; // освободили книгу
IExcelApp.Visible[xlLCID] := false; // скрыли сервер
IExcelApp.Quit; // закрыли сервер
IExcelApp := nil; // освободили сервер
except
end;
Почему после его выполнения остается Excel в памяти!?
andrey_pst (2002-10-07 12:49:00) [1]у этого интерфейса нет свойства Cell.
Исследуйте файл
c:\program files\borland\delphi5\ocx\servers\excel97.pas
и подберите себе нужный интерфейс (диспинтерфейс).
А чем Range - то не устраивает ?
volph777 (2002-10-07 12:19:00) [2]не пашет
Ghost. (2002-10-07 11:48:00) [3]IExcelWS.Cell[1,2].value:="value";
volph777 (2002-10-07 11:02:00) [4]ну хочется так (типа)
IExcelWS.Cell[1,2] := "value";
andrey_pst (2002-10-07 10:52:00) [5]не понял, что имеется ввиду
данные - цифровые координаты или
у ячейки цифровые координаты ;) ?
volph777 (2002-10-07 10:49:00) [6]Ок, а как записать данные в ячейку (не область) с цифровыми координатами?
andrey_pst (2002-10-07 10:46:00) [7]без этой строчки все должно работать нормально:
IExcelWB.PrintOut(EmptyParam, EmptyParam, 1, false, EmptyParam, false, EmptyParam, xlLCID); // распечатали содержимое
Насчет печати: можно попробовать не через интерфейс (диспинтерфейс) книги, а ,допустим, листа или принтера (если таковой имеется).
я когда пример писал эту строку сходу нацарапал - раньше на печать не выводил - не было надобности.
Все интерфейсы (диспинтерфейсы) описаны в файлике Excel97.pas