对自定义表格数据设计自定义查询/汇总

目录

1 前言

2 生成数据

3 设计一个汇总

4 试一下效果

 5 导出为excel文件的源代码

6 后记


1 前言

对自定义表格中录入或者导入的数据,必须能定义查询和汇总,否则程序基本没什么用。就是说,程序应该具备对任意表格进行方便的查询汇总公式开发的功能。

2 生成数据

用外部电子表格文件生成sqlite的表非常方便。也可以用程序自带的生成测试数据功能,生成一个people(职员)表,这里指定生成1000条数据。不知道为什么速度很慢。

竟然用了13秒多。以后有时间了查查原因。

好了现在有了测试数据表:

可以用这些数据做很多测试工作。

3 设计一个汇总

位置:工具——审核与查询设计

开发时间所限,暂且把查询和汇总放到一起。

切换到“查询”选项卡,点“新建”,生成了一个sql语句框架:

 选中一个表,这个表的字段会列出,选“工资字段”,点“加和”按钮,双击一个字段名称,插入到汇总公式中,完成后测试,测试成功后,保存:

 定义一个汇总名称:

 这样就完成了。

4 试一下效果

菜单位置:功能——查询,双击刚才定义的“分区域职工工资之和”。

 导出电子表格文件:

 5 导出为excel文件的源代码

 

procedure TFormQuery.btnOutPortClick(Sender: TObject);
var
  Exporter: TFPSExport;
  ExportSettings: TFPSExportFormatSettings;
  fnOut: string;
begin

  SaveDialog1.Filter := 'Excel文件|*.xlsx';
  if SaveDialog1.Execute then
    fnOut := SaveDialog1.FileName
  else
    exit;

  Exporter := TFPSExport.Create(nil);
  ExportSettings := TFPSExportFormatSettings.Create(true);

  try
    // Write header row with field names
    ExportSettings.HeaderRow := true;
    ExportSettings.ExportFormat := efXLSX;
    // Actually apply settings
    Exporter.FormatSettings := ExportSettings;

    // Write
    Exporter.Dataset := querySummary;
    Exporter.FileName := fnOut;
    Exporter.Execute;
    memo1.append('导出完成: ' + fnOut);
  finally
    Exporter.Free;
    ExportSettings.Free;
  end;

end;  

可以导出为很多种格式,这里只使用 efXLSX 格式。

不得不说,这个处理电子表格的fpsreadsheet太牛了,继续点赞!

6 后记

到目前,这个快速处理数据的程序暂且取名为“fox”,并且使用了一个小狐狸图标,寓意是希望这个小程序能像聪明的小狐狸一样灵活快速处理数据。因为只能挤时间开发,程序离目标还差十万八千里,非常粗陋。目前勉强实现的功能有:

1、根据电子表格文件自动在sqlite中建表,并导入这个表格中的数据;

2、建立视图;

3、单表录入;

4、主从表数据录入;

5、根据数据表设计审核公式,实现边录边审以及批量审核;

6、根据数据表审计查询和汇总。

后面有时间了会进行完善,有兴趣参与测试的请留言。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值