Delphi快速导出Excel

       因工作中很多时候要导出Excel的Report.每份Excel里面都带有图表,分多个Sheet,使用文件流的方式虽然速度很快,但格式不好控制,使用过NativeExcel与XLSReadWriteII控件,都不理想.下面的方法,速度改善很多!    

procedure Save_Exce(sheet: Variant);
var
  range,sData: Variant;
  i, j, citem,iCount: Integer;
begin
  sData:=varArrayCreate([1,1,1,iCount-1],varVariant);  //定义数组
 iCount := SGAll.ColCount; 
  sheet.cells[19, 1] := 'Plant ' + cbbPlant.Text;
  //一行一行写,每一行的格式可以设置

  for i := 1 to SGAll.RowCount - 2 do
  begin
    for j := 1 to iCount - 1 do
    begin
        sData[1,j]:= SGAll.Cells[j, i];//一行数据。也可以为多行数据
    end;
    range:=sheet.Range[sheet.cells[i , 1],sheet.cells[i , iCount-1]]; //选择要写的Execl的单元格
    range.Value2:=sData;  //写入数据
    range.borders.linestyle := xlcontinuous;
    range.Font.Name := 'Tahoma';
    range.Font.Size := 8.5;
  end;
end;

你可能感兴趣的:(导出Excel)