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


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

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

    从左到右依次是:

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

    叹为观止!

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

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

    1. var
    2. sql: string;
    3. fnOut: string;
    4. iStart: cardinal;
    5. begin
    6. SaveDialog1.Filter := 'sql文件|*.sql';
    7. if SaveDialog1.Execute then
    8. begin
    9. fnOut := SaveDialog1.FileName;
    10. end
    11. else
    12. exit;
    13. iStart := GetTickCount;
    14. sql := 'select * from ' + tableEn_crud_master +
    15. ' where (1=1) ' + master_cust_query_sql_all;
    16. queryTmp.Close;
    17. queryTmp.SQL.Text := sql;
    18. //queryTmp.PacketRecords:= -1;
    19. queryTmp.Open;
    20. try
    21. SQLExporter1.Dataset := queryTmp;
    22. SQLExporter1.FormatSettings.TableName := tableEn_crud_master;
    23. SQLExporter1.FileName := fnOut;
    24. SQLExporter1.Execute;
    25. memo1.append('导出完成: ' + fnOut + Format(',用时%d毫秒。', [getTickCount64 - iStart]));
    26. //memo1.append();
    27. except
    28. on E: Exception do
    29. begin
    30. memo1.append('出错了7: '+E.ClassName+'/'+E.Message);
    31. end;
    32. end;

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

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

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

  • 相关阅读:
    版权登记范围
    力扣每日一题-第25天-495.提莫攻击
    家居建材app开发
    北京四环起航科技受邀参展2022上海生物发酵展
    nginx-proxy反向代理缓存
    rabbitMQ 消息顺序性、消息幂等性、消息不丢失、最终一致性、补偿机制、消息队列设计
    WSUS 修补程序管理的替代方法
    只有开源才能拯救AI
    面试中的项目管理:如何展示你的组织能力
    软件使用经验合集(操作系统、常用软件)
  • 原文地址:https://blog.csdn.net/bq_cui/article/details/134248119