QT/C++标签文档报表工具

  • 一、演示预览
  • 二、使用步骤
    • 1.环境配置
  • 二、核心代码
    • 1.报表程序
    • 2. 数据库程序
  • 三、代码链接

一、演示预览

二、使用步骤

1.环境配置

1、第一次在电脑上需要注册报表库,要不让软件运行会报错,这里已经写好了批处理直接运行就行。

2、批处理的文件主要是注册dll和安装sqlite驱动,具体如下

3、ReportUser模块第一次编译的时候会报错,不用去理他,编译第二次就可以

二、核心代码

1.报表程序

void ReportUser::Init()
{// 第一次打开先注册QString strPath = QCoreApplication::applicationDirPath() + "/FirstOpen.rpt";QDir dir;if (!dir.exists(strPath)){QString strBatDir = QCoreApplication::applicationDirPath() + "/Data";QString strBatFile = QCoreApplication::applicationDirPath() + "/Data/install.bat";QProcess p(NULL);p.setWorkingDirectory(strBatDir);p.start(strBatFile);p.waitForFinished();dir.mkpath(strPath);}// 加载数据库SqlUser::GetInstance()->InitDB();LoadSourcesData(g_qlite, g_tableName);// 加载模板QString strPathFr3 = QCoreApplication::applicationDirPath() + "/Data/data.fr3";LoadTemplateFile(strPathFr3);
}bool ReportUser::LoadSourcesData(const char* chDataSource, const char* chTableName)
{CoInitialize(NULL);bool bRet = true;try{m_pData->pReport = IfrxReportPtr(__uuidof(TfrxReport));m_pData->pDB = IfrxADODatabasePtr(__uuidof(TfrxADODatabase));m_pData->pDT = IfrxADOTablePtr(__uuidof(TfrxADOTable));m_pData->pQR = IfrxADOQueryPtr(__uuidof(TfrxADOQuery));// Set the database object propertiesm_pData->pDB->ConnectionString = chDataSource;m_pData->pDB->LoginPrompt = false;m_pData->pDB->Connected = true;// Set the table object propertiesconst char* chTableNameTemp = chTableName;m_pData->pDT->PutDatabase(m_pData->pDB);m_pData->pDT->Name = chTableNameTemp;m_pData->pDT->TableName = chTableNameTemp;// Set the query object propertiesm_pData->pQR->PutDatabase(m_pData->pDB);char buf[256];const char *chTemp = "select * from ";memset(buf, 0, sizeof(buf));strcpy(buf, chTemp);strcat(buf, chTableNameTemp);m_pData->pQR->Query = buf;// Link ADO table and ADO query to the Report objectm_pData->pReport->SelectDataset(true, IfrxDataSetPtr(m_pData->pDT));m_pData->pReport->SelectDataset(true, IfrxDataSetPtr(m_pData->pQR));}catch (_com_error e){bRet = false;CoUninitialize();return bRet;}CoUninitialize();return bRet;
}

2. 数据库程序

代码如下:

// 打开数据库
bool SqlUser::InitDB()
{if (QSqlDatabase::contains("qt_sql_default_connection")){m_dataBase = QSqlDatabase::database("qt_sql_default_connection");return true;}else{// 建立和SQlite数据库的连接m_dataBase = QSqlDatabase::addDatabase("QSQLITE");// 设置数据库文件的名字m_dataBase.setDatabaseName("ReportDatabase.db");}if (!m_dataBase.open()){m_bConnected = false;qDebug() << "Error: Failed to connect database." << m_dataBase.lastError();}elsem_bConnected = true;return m_bConnected;
}// 执行sql语句
bool SqlUser::Excute(QString sql)
{if (!m_bConnected) return false;QSqlQuery query;query.prepare(sql);bool success=query.exec(sql);if(!success){qDebug() << "Error:" << query.lastError();return false;}return true;}// 创建表
bool SqlUser::CreatTable()
{bool bRet = false;if (m_strTableNameList.size() <= 0)return bRet;QString strCreateTable = QString(u8"CREATE TABLE ReportData(SysIndex INTEGER PRIMARY KEY");for (int i = 0; i < m_strTableNameList.size(); i++){if (i < (m_strTableNameList.size() - 1))strCreateTable = strCreateTable + "," + m_strTableNameList[i] + " VARCHAR(256)";elsestrCreateTable = strCreateTable + "," + m_strTableNameList[i] + " VARCHAR(256)" + ")";}bRet = Excute(strCreateTable);return bRet;
}

三、代码链接

代码链接
https://download.csdn.net/download/u013083044/85120988

QT/C++标签文档报表工具相关推荐

  1. IKA文档文件管理工具(文档内文全文搜索+自动识别内文标签分类+目录管理)-桌面版(原创)

    最近写文档写到崩溃,花了N个晚上时间写了个桌面软件给自己用,可以针对doc,docx,xls,xlsx,ppt,pptx,txt,java,js以及其他各种文档类型的文件进行全文搜索,扫描文档中需要找 ...

  2. python在线读-文档编辑工具Markdown

    Markdown是一款非常简单高效的文档编辑工具,只用学习几个标签就可以设计非常简单的html文档. Markdown开发工具推荐 Windows:MarkdownPad,需要安装 Microsoft ...

  3. QT读取Word文档

    Word文档读取 开发工具与关键技术:QtCreator.C++ 作者:何任贤 撰写时间:2020年06月02日 Word文档读取 我们先要在工程文件加入 QT += axcontainer 我们要用 ...

  4. Qt 读取XML文档的简单示例

    目录名字 XML简介 Qt 操作XML文档一般方法 使用DOM读取XML文档 示例代码:读取XML文档 XML简介 XML(Extensible Markup Language,可扩展标记语言)是一种 ...

  5. Yep for Mac:专为Mac用户所设计的文档管理工具

    Yep for mac是一款实用的文件管理工具,相当于各种文件(PDF.DOC.Excel.PPT等)的一个iPhoto.Yep for mac能自动组织整理PDF.iWork.office等文件,归 ...

  6. 【葡萄城报表】还在为画“类Word文档报表”而发愁吗?

    [葡萄城报表]还在为画"类Word文档报表"而发愁吗? ​Word 是非常强大的文档编辑工具,一些行业制式文档都是使用Word来创建的,像教育行业的申请表,履历表,审批表等,像石油 ...

  7. 简要介绍word文档转换为pdf格式文档的工具

    找了很多工具,其实都是乱七八糟的,没几个好用的,最好还是用Adobe Acrobat Pro吧,这个就很方便了,而且转换的也不错. ABC Amber PDF Converter ABC Amber ...

  8. PDF文档搜索工具:PDF Search Mac版

    PDF Search Mac版是一款运行在Mac平台上的PDF文档搜索工具,PDF Search for mac可以帮助用户快速搜索PDF文档,以便用户在数千个PDF文档之间即时查找最相关的页面,另外 ...

  9. Qt写一个文档复制粘贴助手app

    Qt写一个文档复制粘贴助手app 环境如下 创建工程 打开Qt Creater 7.0.0(community) 下载安装环境的自行百度吧 我们点击文件-> New Project ->然 ...

最新文章

  1. (zt)Web 2.0奔路进行时
  2. [转]将C#程序嵌入资源中(C# 调用嵌入资源的EXE文件方法)
  3. Debian与《玩具总动员》
  4. java输出栈的弹出序列_剑指offer:栈的压入、弹出序列(Java)
  5. 分布式事务seata只支持MySQL_阿里分布式事务框架Seata原理解析
  6. python如何对文件进行批量命名-利用Python对文件批量重命名
  7. linux环境下安装weblogic,在Linux下安装weblogic 12.2.1.3.0的过程
  8. Matlab提取ABAQUS后处理文件inp中的节点数
  9. 2008年IT日历 02
  10. Keil4新建汇编模板工程
  11. ant design——Modal
  12. Java数据通讯中使用Googgle Protobuf 序列化与反序列化
  13. 天刀 服务器状态,12月11日服务器例行维护公告(已完成)
  14. 如何用计算机还原魔方,魔方复原
  15. 浓缩书应用 Blinkist - 令人惊艳的商业策略
  16. 利用ps制作油画风格的照片
  17. C语言经典-报数问题
  18. 迷宫问题的DFS和BFS解法
  19. 苹果进入品牌价值衰减期
  20. python柱状图zzt_Python torch.diag方法代碼示例

热门文章

  1. 智慧农场、智慧农业管理系统、农作物、农技指导、四防棚、农耕、种植、农事执行、地块、圈地、加热温室、圈养、生产、采收记录、采收计划、采收入库、销售、农资溯源记录、农场日志、axure原型、产品原型、rp
  2. [驱动] TM1729
  3. 锌矿如何计算机每吨价格,锌精矿价格计算方法
  4. stp实验心得_STP实验报告
  5. 分享几个谷歌(Chrome 内核浏览器)浏览器扩展 crx 下载站
  6. 用python语言实现喇叭发声原理_用Python实现喇叭天线设计小工具(三)
  7. 鸿蒙OS尝新版,华为鸿蒙系统最新版-华为鸿蒙系统os2.0官方版-华为harmonyos公测-游人手游网...
  8. 读浅墨博客 十二 笔记
  9. p8z java快速命名工具
  10. java界面设计股票_利用JAVA实现股票交易系统设计参考.doc