广告
返回顶部
首页 > 资讯 > 精选 >Qt数据库应用中如何将数据打印到pdf
  • 285
分享到

Qt数据库应用中如何将数据打印到pdf

2023-06-26 06:06:15 285人浏览 薄情痞子
摘要

这篇文章的内容主要围绕Qt数据库应用中如何将数据打印到pdf进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!一、前言自从数据可以导出到xls,又有客户

这篇文章的内容主要围绕Qt数据库应用中如何将数据打印到pdf进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!

一、前言

自从数据可以导出到xls,又有客户提出了不同的需求,比如既然可以将数据导出到xls,那是否可以导出到pdf文件呢?因为xls打开以后用户可以修改数据造假之类的,而pdf默认是不可编辑的,除非借助专业的工具,所以如果想要限定用户导出数据不能被更改,那导出pdf是最佳选择。写程序往往都是这样,一步步慢慢增加,随着用户需求的增加,程序量也越来越多,轮子组件也越来越多。往往客户提需求的时候,一定要认真聆听,尤其是一线用户,实际使用的用户,尽管有些不合理的需求,但是能满足就尽量满足,毕竟客户就是上帝。

在Qt中要导出到pdf必须要用到qprinter类,相当于这些数据是打印到pdf的,所以确切点是叫打印到pdf文件,而不是导出数据到pdf,格式这块由于采用的是打印,所以需要用html嵌套table表格的形式来打印,支持的格式就有限了,一般可以设置字体大小、颜色、边框、对齐等,尽管是html,但是也是支持有限的html格式,这点要特别注意。现在的qt版本貌似单独将pdf提炼出来成了独立的模块,功能更强大。

结构体支持的参数:

  • 文件名称

  • 表名

  • 主标题

  • 副标题

  • 字段名称集合

  • 字段宽度集合

  • 内容集合

  • 行内容分隔符

  • 子内容分隔符

  • 边框宽度

  • 校验列

  • 校验类型

  • 校验值

  • 检验颜色

  • 最后列拉伸填充

  • 横向排版

  • 纸张边距

二、功能特点

组件同时集成了导出数据到csv、xls、pdf和打印数据。

所有操作全部提供静态方法无需new,数据和属性等各种参数设置采用结构体数据,极为方便。

同时支持QTableView、QTableWidget、QStandardItemModel、QsqlTableModel等数据源。

提供静态方法直接传入QTableView、QTableWidget控件,自动识别列名、列宽和数据内容。

每组功能都提供单独的完整的示例,注释详细,非常适合各阶段Qter程序员

原创导出数据机制,不依赖任何office组件或者操作系统等第三方库,支持嵌入式linux

速度超快,9个字段10万行数据只需要2秒钟完成。

只需要四个步骤即可开始急速导出海量数据比如100W条记录到excel

同时提供直接写入数据接口和多线程写入数据接口,不卡主界面。

可设置标题、副标题、表名。

可设置导出数据的字段名、列名、列宽。

可设置末尾列自动拉伸填充,默认拉伸更美观。

可设置是否启用校验过滤数据,启用后符合规则的数据特殊颜色显示。

可指定校验的列、校验规则、校验值、校验值数据类型。

校验规则支持 精确等于==、大于>、大于等于>=、小于<、小于等于<=、不等于!=、包含contains。

校验值数据类型支持 整型int、浮点型float、双精度型double,默认文本字符串类型。

可设置随机背景颜色及需要随机背景色的列集合。

支持分组输出数据,比如按照设备分组输出数据,方便查看。

可设置csv分隔符、行内容分隔符、子内容分隔符。

可设置边框宽度、自动填数据类型,默认自动数据类型开启。

可设置是否开启数据单元格样式,默认不开启,不开启可以节约大概30%的文件体积。

可设置横向排版、纸张边距等,比如导出到pdf以及打印数据。

支持图文混排导出数据到pdf以及打印数据,自动分页。

灵活性超高,可自由更改源码设置对齐方式、文字颜色、背景颜色等。

支持任意excel表格软件,包括但不限于excel2003-2021、wps、openoffice等。

纯Qt编写,支持任意Qt版本+任意编译器+任意系统。

三、体验地址

体验地址:https://pan.baidu.com/s/1ZxG-oyUKe286LPMPxOrO2A 提取码:o05q 文件名:bin_dataout.zip

国内站点:Https://gitee.com/feiyangqingyun

国际站点:https://GitHub.com/feiyangqingyun

四、效果图

Qt数据库应用中如何将数据打印到pdf

五、相关代码

QString DataHelper::DataOut(quint8 type, const QString &file, const QString &title,                            const QString &sheet, const QStringList &content,                            const QStringList &columnNames, const QList<int> &columnWidths){    //设置结构体数据    DataContent dataContent;    //填充内容    dataContent.content = content;    //设置列名列宽    dataContent.columnNames = columnNames;    dataContent.columnWidths = columnWidths;    //设置标题    dataContent.title = title;    //如果是导出数据则先判断文件名称是否为空,为空则弹出文件对话框选择    QString fileName = file;    if (fileName.isEmpty() && type < 3) {        //不同的格式后缀        QString filter = "all files (*.*)";        if (type == 0) {            filter = "csv files (*.csv)";        } else if (type == 1) {            filter = "xls files (*.xls)";        } else if (type == 2) {            filter = "pdf files (*.pdf)";        }        fileName = QFileDialog::getSaveFileName(0, "选择保存文件", "", filter);        if (fileName.isEmpty()) {            return fileName;        }    }    //设置文件名    dataContent.fileName = fileName;    //xls还需要设置表名    dataContent.sheetName = sheet;    //调用静态函数    if (type == 0) {        //重新组织内容,前面写入标题,分隔符换成csv的定义的分隔符        QStringList list;        //把标题加到内容中        list << columnNames.join(DataCsv::CsvSpliter);        //重新更换分隔符        foreach (QString text, content) {            text.replace(";", DataCsv::CsvSpliter);            list << text;        }        DataCsv::outputData(fileName, list);    } else if (type == 1) {        DataXls::saveXls(dataContent);    } else if (type == 2) {        DataPrint::savePdf(dataContent);    } else if (type == 3) {        DataPrint::print(dataContent);    }    return fileName;}

感谢你的阅读,相信你对“Qt数据库应用中如何将数据打印到pdf”这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注编程网网站!小编会继续为大家带来更好的文章!

--结束END--

本文标题: Qt数据库应用中如何将数据打印到pdf

本文链接: https://www.lsjlt.com/news/307293.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Qt数据库应用中如何将数据打印到pdf
    这篇文章的内容主要围绕Qt数据库应用中如何将数据打印到pdf进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!一、前言自从数据可以导出到xls,又有客户...
    99+
    2023-06-26
  • Qt数据库应用之数据打印到pdf
    目录一、前言二、功能特点三、体验地址四、效果图五、相关代码一、前言 自从数据可以导出到xls,又有客户提出了不同的需求,比如既然可以将数据导出到xls,那是否可以导出到pdf文件呢?...
    99+
    2022-11-12
  • Qt数据库应用之实现数据打印到纸张
    目录一、前言二、功能特点三、体验地址四、效果图五、相关代码一、前言 数据能够打印到pdf文件,当然可以打印到纸张,而且使用qprinter默认就是打印到纸张的,上一篇文章写得功能是打...
    99+
    2022-11-13
  • Qt数据库应用之实现图片转pdf
    目录一、前言二、功能特点三、体验地址四、效果图五、相关代码一、前言 用户的需求真的是千奇百怪,刚做完不同页面横向纵向排版的需求,又来个需要图片转pdf的需求,提供静态函数直接使用。 ...
    99+
    2022-11-13
  • Android应用中如何将数据插入到SQLite数据库
    Android应用中如何将数据插入到SQLite数据库?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、使用db.execSQL(sql)这里是把要插入的数据拼接成可执行的sq...
    99+
    2023-05-31
    android sqlite lite
  • Qt如何实现数据查询导出打印
    本篇内容主要讲解“Qt如何实现数据查询导出打印”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Qt如何实现数据查询导出打印”吧!效果图相关代码void DataHelper::datao...
    99+
    2023-07-02
  • Qt数据库应用之怎么实现图片转pdf
    本篇内容介绍了“Qt数据库应用之怎么实现图片转pdf”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!效果图五、相关代码void Da...
    99+
    2023-06-30
  • Qt数据库应用中如何实现通用数据库采集
    小编给大家分享一下Qt数据库应用中如何实现通用数据库采集,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、前言数据库采集对应的就是上一篇文章的数据库同步,数据库同...
    99+
    2023-06-29
  • php如何打印数据库错误
    这篇文章将为大家详细讲解有关php如何打印数据库错误,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php打印数据库错误的方法:首先创建一个PHP示例文件;然后连接数据库;最后通过“echo mysql_e...
    99+
    2023-06-15
  • 如何从mysql中将数据导入到oracle数据库中
    这篇文章主要讲解了“如何从mysql中将数据导入到oracle数据库中”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何从mysql中将数据导入到oracl...
    99+
    2022-10-18
  • Qt数据库中如何实现通用数据库请求
    小编给大家分享一下Qt数据库中如何实现通用数据库请求,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、前言数据库请求是在数据库采集的基础上,换成http请求的形式...
    99+
    2023-06-29
  • 如何将SQLServer2008的数据复制到MySQL数据库
    这篇文章主要讲解了“如何将SQLServer2008的数据复制到MySQL数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何将SQLServer200...
    99+
    2022-10-18
  • 如何用Python将数据批量的插入到数据库
    这篇文章给大家介绍如何用Python将数据批量的插入到数据库,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。我是一名挣扎在编程链底端的pythoner,工作中既要和数据打交道,也要保持和erp系统,web网站友好的&qu...
    99+
    2023-06-16
  • 利用MyBatis怎么将数据插入到Oracle数据库中
    这篇文章将为大家详细讲解有关利用MyBatis怎么将数据插入到Oracle数据库中,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、mybatis批量插入数据到Oracle中的两种方式:第一...
    99+
    2023-05-31
    mybatis oracle
  • 如何实现将CouchDB中的数据同步到关系型数据库
    小编给大家分享一下如何实现将CouchDB中的数据同步到关系型数据库,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!  Couch...
    99+
    2022-10-18
  • Qt数据库如何实现通用数据生成器
    这篇文章将为大家详细讲解有关Qt数据库如何实现通用数据生成器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、前言有两种应用场景需要用到数据生成器,一种是需要测试数据库性能,比如在100万条和1000万条...
    99+
    2023-06-29
  • 如何将数据库从MySQL移植到MemSQL
    本篇内容介绍了“如何将数据库从MySQL移植到MemSQL”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-18
  • 如何将数据库部署到阿里云
    阿里云是全球领先的云计算服务提供商,它提供了丰富的云产品和服务,包括数据库服务。如果你正在寻找将数据库部署到阿里云的方法,这篇文章将为你提供详细的步骤和指导。 一、准备阶段创建阿里云账号:如果你还没有阿里云账号,需要先注册一个。你可以通过官...
    99+
    2023-11-10
    阿里 如何将 数据库
  • 如何将RRD数据库中数据导入MYSQL中
    本篇文章为大家展示了如何将RRD数据库中数据导入MYSQL中,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。将RRD数据库中数据导入MYSQL中一、RRD数据库及RR...
    99+
    2022-10-18
  • 如何将 .sql 文件导入到 MySQL 数据库?
    导入 SQL 文件到 MySQL 数据库是一个常见的任务,本文将介绍如何执行该操作。我们将逐步讲解具体的步骤,帮助您完成这个过程。 步骤 1: 打开命令提示符或终端 首先,在您的计算机上打开命令提示符或终端窗口。这将是执行导入操作的地方。 ...
    99+
    2023-09-18
    数据库 mysql sql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作