我在上个月的项目中遇到这个问题,并顺利解决了,提供部分代码供你参考,希望对你有所帮助!
procedure TfrmMain.SetCourseColumns;
var
i,j : Integer;
strTmp : string;
begin
j := 68;
ADOQuery2.Open;
For i := 0 to ADOQuery2.RecordCount -1 do
begin
strTmp := Char(j + I*3) + '4:' + Char(j + I*3 + 2) + '4';
ECells := ESheet.Cells.Range[strTmp]; //取得合并单元格范围
Ecells.Cells[1].Value := ADOQuery2.Fields[1].AsString;
ECells.Merge; //合并范围内单元格
SetStyle(ECells);
strTmp := Char(j + I*3) + '5:' + Char(j + I*3 + 2) + '5';
ECells := ESheet.Cells.Range[strTmp];
ECells.Cells[1].Value := '任课教师';
ECells.Cells[2].Value := '前40名平均分';
ECells.Cells[3].Value := '前45名平均分';
SetStyle(ECells);
ADOQuery2.Next;
end;
end;//设置单元格样式
procedure TfrmMain.SetStyle(XlRange : Variant);
begin
XlRange.WrapText := True;
XlRange.HorizontalAlignment := xlHAlignCenterAcrossSelection;
XlRange.VerticalAlignment := xlVAlignCenter;
XlRange.Borders.LineStyle := xlContinuous; //边框类型
XlRange.Borders.Weight := xlMedium;
XlRange.Characters.Font.Name := '宋体'; //字体
XlRange.Characters.Font.FontStyle := '加粗'; //ExcelCellRange.Characters.Font.Size := 9;
//ExcelCellRange.Characters.Font.Color := clBlue; //颜色
//ExcelCellRange.Characters.Font.ColorIndex := xlAutomatic; //颜色
//ExcelCellRange := EApp.WorkBooks[1].WorkSheets[1].Range['A1:D4'];
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货