Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с Exel из Delphi [D4, XP]


SerMaxx ©   (2007-06-14 19:42:00) 

уважаемые мастера подскажите пожайлуста, возможно ли средствами Delphi изменить размер столбца и строки в Exel, при создании отчета? или же установить свойство что бы размер был по ширине текста в ячейке? заранее благодарен за помощь. сли возможно то подскажите как это сделать?


3fc   (2007-06-15 10:57:00) [1]

P.S. Небольшое замечание.

При создании сложных отчетов в Excel предпочтительнее использовать компоненты страницы Servers, т.к. в этом случае будет задействован механизм т.н. "раннего связывания", в отличие от использования Ole-объектов (функция CreateOleObject()) - соответственно "позднее связывание". На практике 1-й способ существенно повышает быстродействие проги, т.к. все типы данных уже определены на этапе компиляции и маршалинг происходит гораздо быстрее.


Робинзон   (2007-06-15 09:37:00) [2]

procedure TForm1.ExcelButtonClick(Sender: TObject);
var
XLApp,Colum,Row:Variant;
index,i:Integer;
begin
XLApp:= CreateOleObject('Excel.Application');
XLApp.Visible:=true;
// XLApp.Workbooks.Add(-4167);
//WindowState := -4137;

XLApp.WorkBooks.Open('D:\Проба\pp.xls');
XLApp.Workbooks[1].WorkSheets[1].Name:='Бланк';
Colum:=XLApp.Workbooks[1].WorkSheets['Бланк'].Columns;
Colum.Columns[1].ColumnWidth:=5;
Colum.Columns[2].ColumnWidth:=10;
Colum.Columns[3].ColumnWidth:=15;
Colum.Columns[4].ColumnWidth:=20;
Colum.Columns[5].ColumnWidth:=25;//Размер столбца

Colum:=XLApp.Workbooks[1].WorkSheets['Бланк'].Rows;
Colum.Rows[2].Font.Bold:=true;
Colum.Rows[1].Font.Bold:=true;
Colum.Rows[1].Font.Color:=clRed;
Colum.Rows[1].Font.Size:=14;
Colum.Rows[1].RowHeight:=36;//Размер строки
end;


3fc   (2007-06-15 09:11:00) [3]

ExcelApplication1.Connect;
 ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam, 1));
 ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets.Item[1] as _Worksheet);
 ExcelWorksheet1.Range['A1', 'A1'].ColumnWidth := 17;
 ExcelWorksheet1.Range['A1', 'A1'].RowHeight := 51;
 ExcelApplication1.Visible[1] := True;


Наверх

Титульная страница Поиск, карта сайта Написать письмо