Delphi快速导出Excel – 指尖风暴 Typhon Finger

因工作中很多时候要导出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[19, 1] := 'Plant ' + cbbPlant.Text;
  9. //一行一行写,每一行的格式可以设置
  10. for i := 1 to SGAll.RowCount – 2 do
  11. begin
  12. for j := 1 to iCount – 1 do
  13. begin
  14. sData[1,j]:= SGAll.Cells[j, i];//一行数据。也可以为多行数据
  15. end;
  16. range:=sheet.Range[sheet.cells[i , 1],sheet.cells[i , iCount-1]]; //选择要写的Execl的单元格
  17. range.Value2:=sData;  //写入数据
  18. range.borders.linestyle := xlcontinuous;
  19. range.Font.Name := 'Tahoma’;
  20. range.Font.Size := 8.5;
  21. end;
  22. end;
(0)

相关推荐