lazarus:数据集快速导出为excel、csv、sql及其他多种格式

lazarus被成为快速开发工具,为什么说“快速”,重要的一点是,很多工具是现成的,可以拿来直接就用。比如数据导出,如果需要把数据集导出为excel格式文件,写代码可能需要很多时间。lazarus就不用了,有TFPSExport。另外还有很多其他格式的导出工具,简单设置一下属性就可以。

这是lazarus控件集的dataExport选项卡包含的各种导出控件:

从左到右依次是:

TCSVExporter,
TFixedLengthExporter,
TSQLExporter,
TXMLXSDExporter,
TSimpleXMLExporter,
TSimpleJSONExporter,
TFPDBFExport,
TTexExporter,
TRTFExporter,
TStandardExportFormats,
TFPDataExporter

叹为观止!

前几天我自己写了一个导出为sql文件的函数,废了不少时间。因为我原来不知道有这个东西,所以说熟悉工具很重要。

这些导出控件使用基本相同,以TSQLExporter为例,导出代码为:

var
  sql: string;
  fnOut: string;
  iStart: cardinal;
begin

  SaveDialog1.Filter := 'sql文件|*.sql';
  if SaveDialog1.Execute then
  begin
    fnOut := SaveDialog1.FileName;
  end
  else
    exit;

  iStart := GetTickCount;

  sql := 'select * from ' + tableEn_crud_master +
         ' where (1=1) ' + master_cust_query_sql_all;
  queryTmp.Close;
  queryTmp.SQL.Text := sql;
  //queryTmp.PacketRecords:= -1;
  queryTmp.Open;


  try
    SQLExporter1.Dataset := queryTmp;
    SQLExporter1.FormatSettings.TableName := tableEn_crud_master;
    SQLExporter1.FileName := fnOut;
    SQLExporter1.Execute;

    memo1.append('导出完成: ' + fnOut + Format(',用时%d毫秒。', [getTickCount64 - iStart]));
    //memo1.append();

  except
    on E: Exception do
    begin
      memo1.append('出错了7: '+E.ClassName+'/'+E.Message);
    end;
  end;  

程序中随便使用了几种格式:

导出速度很快,十来个字段1000条记录:

导出完成: D:\ssss.sql,用时46毫秒。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值