首页| 论坛| 消息

标题:Qt编写安防视频监控系统45-图文报表
作者:liudianwu
日期:2021-07-15 08:48
内容:

## 一、前言
图文报表对应以前的文字报表,以前的日志查询后,需要打印或者导出,都是一行行的文字记录,近期需要图文警情记录打印和导出,于是彻底趁机将之前的数据导入导出(xls/pdf)及打印组件彻底改造重写,这也是之前遗留了一个需要重新架构的组件,删除了60%的冗余代码,增加了结构体存储导出打印数据的参数,做成了通用的静态函数导出和打印,非常方便,同时还拓展了图文警情的数据导出打印支持,支持传入图片路径,自定义主标题副标题等。在整个改造的过程中,总结了几点小经验。
- 有返回值的函数,一定要主动return返回值,有部分编译器在没有返回值的情况下也能正常编译通过,但是运行的时候会出问题,得不到想要的结果,因为没有return对应的值。
- 定义的局部变量,主动给定个初始值,是个必须养成的好习惯,不然编译器给的初始值很可能不是你想要的,比如int变量默认0,有时候随机变成一个很大的数值,bool变量的初始值不同编译器不同值,有些是true有些是false,主动给一个初始值更可靠。
- 某些函数参数很多,而且后期可能还会修改和增加,这就导致了源头修改以后,关联信号槽的地方也要修改,参数类型和位置必须保持完全一致,对应槽函数处理也要修改等,改动的工作量非常大而且极不友好,所以对于非固定参数的函数,建议用结构体,这样非常容易增加其他的参数,而且不用修改信号槽关联和信号槽函数定义等,比如学生信息表、商品信息表作为参数传输,最佳方案就是结构体。
图文报表类功能特点
1. 原创导出数据机制,不依赖任何office组件或者操作系统等第三方库,尤其是支持嵌入式linux。
2. 10万行数据9个字段只需要2秒钟完成。
3. 只需要四个步骤即可开始急速导出大量数据到Excel。
4. 同时提供直接写入数据接口和多线程写入数据接口,不卡主界面。
5. 可设置标题、副标题、表名。
6. 可设置字段名称、列宽度。
7. 可设置是否启用校验过滤数据、校验的列、校验规则、校验值,符合规则的特殊颜色显示。
8. 可设置随机背景颜色及需要随机背景色的列集合。
9. 支持分组输出数据,比如按照设备分组输出数据,方便查看。
10. 可自定义行内容分隔符。
11. 可追加数据形式写入数据,建议每次追加的数据小于10000条。
12. 灵活性超高,可自由更改源码设置对齐方式、文字颜色、背景颜色等。
13. 支持任意excel表格软件,包括但不限于excel2003/2007/2010/2013/2017/wps/openoffice等。
14. 除了提供导出到Excel类以外,还提供导出到Pdf文 ..

回复 发表
主题 版块