前言
因为要基于Qt和SQL Server自动生成报表,因此查找了多款C++报表生成插件,发现NCReport和FastReport报表生成较常用。博文中将对NCReport报表配置和测试进行一个详细介绍,方便日后的学习。
NCReport下载
官网,下载地址:https://www.nocisoft.com/downloads.html
目前我的开发环境是:win7 64位,Qt5.6.0(64),VS2013,选择相应的版本是:NCReport2.19.1_Windows_x64_VS2013_Qt5.6.0_Evaluation.exe
配置
下载结束后,双击可执行程序进行安装,选择安装路径。我选择了默认安装,安装结束后:
(1)将路径C:\Program Files\NCReport\2.19.1.VS2013.Qt5.6.0.eval\bin添加至系统环境变量path中,并注销计算机。
(2)打开VS2013新建Qt项目,添加包含目录和库目录
(3)连接器->输入->附加依赖项(添加NCReportDebug2.lib),如果需要Release版本,就添加NCReport2.lib。
提示:整个配置过程和其他第三方库的配置过程类似。
测试
这里我是新建了一个mainwindow应用,添加了一个file菜单和print动作,新建了一个槽函数,并将下面代码添加至槽函数。
代码源自:http://blog.youkuaiyun.com/itas109/article/details/29867807
//-------------------------------------------
// TEST STRING PARAMETER DATASOURCE
//-------------------------------------------
// 0. column: id
// 1. column: product name
// 2. column: price
// 3. column: group1 value
// 4. column: value
// 5. column: group0 value
QString data;//数据
data += "1 \tChai \t16.0000\t1\t1540\t0\n";
data += "2 \tChang \t17.0000\t1\t 874\t0\n";
data += "3 \tAniseed Syrup \t 9.0000\t1\t1687\t0\n";
NCReport *report = new NCReport();
//report->setReportSource(NCReportSource::File);
report->setReportFile("report.xml");//载入报告格式
report->addParameter("data1", data);//载入数据
//打印机
//report->runReportToPrinter();
//PDF
//QString fileName("ncTest.pdf");
//report->runReportToPDF( fileName);
// 预览
report->runReportToShowPreview();
// 错误处理
if (report->hasError())
{
QMessageBox msgBox;
msgBox.setText(QObject::tr("Report error: ") + report->lastErrorMsg());
msgBox.exec();
}
delete report;
程序UI界面:
报表界面:
结语
配置和报表生成结束,因为是试用版的原因导致生成的报表带有EVALUATION VERSION 水印,很不爽不知道后期会不会影响报表使用,只能暂时这样。