Delphi快速导出Excel

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


  1. procedure Save_Exce(sheet: Variant);  
  2. var  
  3.   range,sData: Variant;  
  4.   i, j, citem,iCount: Integer;  
  5. begin  
  6.   sData:=varArrayCreate([1,1,1,iCount-1],varVariant);  //定义数组  
  7. iCount := SGAll.ColCount;   
  8.   sheet.cells[191] := 'Plant ' + cbbPlant.Text;  
  9.   //一行一行写,每一行的格式可以设置  
  10.   
  11.   for i := 1 to SGAll.RowCount - 2 do  
  12.   begin  
  13.     for j := 1 to iCount - 1 do  
  14.     begin  
  15.         sData[1,j]:= SGAll.Cells[j, i];//一行数据。也可以为多行数据  
  16.     end;  
  17.     range:=sheet.Range[sheet.cells[i , 1],sheet.cells[i , iCount-1]]; //选择要写的Execl的单元格  
  18.     range.Value2:=sData;  //写入数据  
  19.     range.borders.linestyle := xlcontinuous;  
  20.     range.Font.Name := 'Tahoma';  
  21.     range.Font.Size := 8.5;  
  22.   end;  
  23. end;  

发表回复

登录... 后才能评论