全部给你吧,居中、设字体等都有了
var
xlsapp,xlssheet:variant;
v1,v2,v3,v4:variant;
AQ:TADOQUery;
DataCells:StrArr2D;
//FieldWidths:IntArr;
i,j:integer;
begin try
if varisempty(xlsapp) then
xlsapp:=createoleobject('excel.application');
xlsapp.workbooks.add;
xlssheet:=xlsapp.worksheets['sheet1'];
except
ShowMessage('不能打开Excel!');
abort;
end;
try
DM.LoadDBGridData(Dg,DataCells);
xlsapp.visible:=true;
v2:= XlsApp.workBooks[1].workSheets['Sheet1'];
v1:=XlsApp.workBooks[1].workSheets['Sheet1'].Columns;
for i:=0 to dg.Columns.Count -1 do
begin
// v1.Columns[i+1].Width:=
// Round(FieldWidths[i]*72/screen.PixelsPerInch) ;
v2.Columns[i+1].Font.Name:=dg.Font.Name ;
v2.Columns[i+1].Font.Size:=9;//dg.Font.Size ;
xlsapp.Range[v2.Columns[1],v2.Columns[1]].ColumnWidth:=9;
xlsapp.Range[v2.Columns[2],v2.Columns[2]].ColumnWidth:=22;
xlsapp.Range[v2.Columns[3],v2.Columns[3]].ColumnWidth:=4;
xlsapp.Range[v2.Columns[4],v2.Columns[4]].ColumnWidth:=5;
xlsapp.Range[v2.Columns[5],v2.Columns[20]].ColumnWidth:=4;
{ xlsapp.Range[v2.Columns[5],v2.Columns[5]].ColumnWidth:=4;
xlsapp.Range[v2.Columns[6],v2.Columns[6]].ColumnWidth:=5;
xlsapp.Range[v2.Columns[7],v2.Columns[7]].ColumnWidth:=4;
xlsapp.Range[v2.Columns[8],v2.Columns[11]].ColumnWidth:=4;
xlsapp.Range[v2.Columns[12],v2.Columns[12]].ColumnWidth:=6; }
xlsapp.Range[v2.Columns[1],v2.Columns[40]].HorizontalAlignment:=xlCenter;
//合并
xlsapp.Range['C1','G1'].merge(False);
//xlsapp.Range[v1.Columns[15],v1.Columns[15]].Interior.Colorindex:=3;
end;
for i:=Low(DataCells)to High(DataCells)do
begin
for j:=Low(DataCells[i]) to High(DataCells[i]) do
begin
v2.Cells[1,3]:='喷 涂 报 表';
v2.Cells[i+3,j+1]:=DataCells[i,j] ;
v2.Cells[i+3,j+1].Borders.LineStyle:=1; end;
{if High(DataCells[i])>11 then
if DataCells[i][11]>inttostr(AA) then
xlsapp.Range[v2.Rows[i+3],v2.Rows[i+3]].Interior.Colorindex:=4; }
end;
except
xlsAPp.Quit;
end;
end;
var
xlsapp,xlssheet:variant;
v1,v2,v3,v4:variant;
AQ:TADOQUery;
DataCells:StrArr2D;
//FieldWidths:IntArr;
i,j:integer;
begin try
if varisempty(xlsapp) then
xlsapp:=createoleobject('excel.application');
xlsapp.workbooks.add;
xlssheet:=xlsapp.worksheets['sheet1'];
except
ShowMessage('不能打开Excel!');
abort;
end;
try
DM.LoadDBGridData(Dg,DataCells);
xlsapp.visible:=true;
v2:= XlsApp.workBooks[1].workSheets['Sheet1'];
v1:=XlsApp.workBooks[1].workSheets['Sheet1'].Columns;
for i:=0 to dg.Columns.Count -1 do
begin
// v1.Columns[i+1].Width:=
// Round(FieldWidths[i]*72/screen.PixelsPerInch) ;
v2.Columns[i+1].Font.Name:=dg.Font.Name ;
v2.Columns[i+1].Font.Size:=9;//dg.Font.Size ;
xlsapp.Range[v2.Columns[1],v2.Columns[1]].ColumnWidth:=9;
xlsapp.Range[v2.Columns[2],v2.Columns[2]].ColumnWidth:=22;
xlsapp.Range[v2.Columns[3],v2.Columns[3]].ColumnWidth:=4;
xlsapp.Range[v2.Columns[4],v2.Columns[4]].ColumnWidth:=5;
xlsapp.Range[v2.Columns[5],v2.Columns[20]].ColumnWidth:=4;
{ xlsapp.Range[v2.Columns[5],v2.Columns[5]].ColumnWidth:=4;
xlsapp.Range[v2.Columns[6],v2.Columns[6]].ColumnWidth:=5;
xlsapp.Range[v2.Columns[7],v2.Columns[7]].ColumnWidth:=4;
xlsapp.Range[v2.Columns[8],v2.Columns[11]].ColumnWidth:=4;
xlsapp.Range[v2.Columns[12],v2.Columns[12]].ColumnWidth:=6; }
xlsapp.Range[v2.Columns[1],v2.Columns[40]].HorizontalAlignment:=xlCenter;
//合并
xlsapp.Range['C1','G1'].merge(False);
//xlsapp.Range[v1.Columns[15],v1.Columns[15]].Interior.Colorindex:=3;
end;
for i:=Low(DataCells)to High(DataCells)do
begin
for j:=Low(DataCells[i]) to High(DataCells[i]) do
begin
v2.Cells[1,3]:='喷 涂 报 表';
v2.Cells[i+3,j+1]:=DataCells[i,j] ;
v2.Cells[i+3,j+1].Borders.LineStyle:=1; end;
{if High(DataCells[i])>11 then
if DataCells[i][11]>inttostr(AA) then
xlsapp.Range[v2.Rows[i+3],v2.Rows[i+3]].Interior.Colorindex:=4; }
end;
except
xlsAPp.Quit;
end;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货