horizontalalignment excel



Автор Ruru задал вопрос в разделе Другие языки и технологии

Как сделать отчет по шаблону в эксель из дельфи? и получил лучший ответ

Ответ от Алексей Арыков[гуру]
procedure TfrmStat.SendToExcel(Sender:TObject);
const
xlLeft = -4131;
xlCenter = -4108;
var
Excel,Book,Sheet,Range,Data:Variant;
I,J:Integer;
S:string;
begin
Excel:=CreateOleObject('Excel.Application');
If TVarData(Excel).VType=0 then
begin
Error('Ошибка при инициализации MS Excel');
Exit;
end;
Screen.Cursor:=crHourGlass;
try
Excel.Application.EnableEvents:=False;
Excel.Application.ErrorCheckingOptions.BackgroundChecking:=False;
Book:=Excel.WorkBooks.Add;
Sheet:=Excel.ActiveSheet;
Sheet.Name:='Планирование';
// Данные
Data:=VarArrayCreate([1,Tb.RowCount,1,Tb.ColCount],varOleStr);
For J:=1 to Tb.RowCount do
For I:=1 to Tb.ColCount do
begin
S:=Trim(Tb.Cells[I-1,J-1]);
If S='---' then S:='';
Data[J,I]:=S;
end;
Range:=Sheet.Range[Sheet.Cells[2,1],Sheet.Cells[Tb.RowCount+1,Tb.ColCount]];
Range.Value:=Data;
Range.Borders.Weight:=2;
Range:=Excel.Cells[Tb.RowCount+3,1];
Range.Value:=FormatDateTime('dd. mm. yyyy',Date);
Range.Font.Bold:=1;
// Заголовок
Excel.Rows[1].RowHeight:=20;
Excel.Cells[1,1].Value:=Caption;
Excel.Cells[1,1].Font.Bold:=1;
Excel.Range['A1:L1'].MergeCells:=1;
Excel.Range['A2:L2'].Font.Bold:=1;
If Cb1.ItemIndex>0 then Excel.Cells[2,Cb1.ItemIndex].Font.Color:=clRed;
// Параметры листа
Range:=Sheet.Columns;
Range.HorizontalAlignment:=xlCenter;
Range.VerticalAlignment:=xlCenter;
Range.Columns[1].HorizontalAlignment:=xlLeft;
Range.RowHeight:=16;
Range.Font.Size:=10;
For I:=1 to Tb.ColCount do Range.Columns[ i ].EntireColumn.AutoFit;
// Параметры страницы
Sheet.PageSetup.LeftMargin:=42;
Sheet.PageSetup.RightMargin:=27;
Sheet.PageSetup.TopMargin:=27;
Sheet.PageSetup.BottomMargin:=27;
Sheet.PageSetup.CenterHorizontally:=1;
Excel.Visible:=1;
except
on E:Exception do Error(E.Message);
end;
Screen.Cursor:=crDefault;
end;

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Как сделать отчет по шаблону в эксель из дельфи?
спросили в Selection
Как форматировать ячейки в Excel средствами встроенного языка VBA
Совет: запиши сначала макрос встроенным рекодером, потом открой и посмотри код. Если какое свойство
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*