报表输出轻松搞定

一笑泯千愁蝎子

一笑泯千愁蝎子

2016-01-29 11:58

报表输出轻松搞定,报表输出轻松搞定

报表输出轻松搞定

作者:一行代码

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/cyuyanjiaocheng/) 下载源代码

一、刚刚开发了一个报表输出的 COM,可以动态的添加数据。代码没有限制,可随意使用。现在还在修改一些细节的地方,修改后会再次上传。

二、代码说明
1、首先注册COM控件 使用regsvr32命令
2、在stdafx中加入#import ".YTReport.tlb"rename_namespace("TestYTReportDriver")using namespace TestYTReportDriver;
3、在APP文件中加入CoInitialize(NULL);和CoUninitialize();用于初始化COM环境和释放环境
4、建立变量IYTReportAPtr m_YTPrint;
初始化:
m_YTPrint = NULL;if (FAILED(m_YTPrint.CreateInstance(__uuidof(YTReportA)))){MessageBox("清先注册COM","提示");}
5、程序可以输出双联表和普通模式
普通模式分为正表和反表两种
6、当然程序推出时别忘了释放对象
m_YTPrint.Release();
三、图像



第一个表格使用SetReportHeadA实现
第二个表格使用SetReportHeadB实现
第三个表格使用SetReportHeadC实现
-----------------------------COM接口标示------------------------------------------------
//准备打印
HRESULT PrePrint([out,retval]long *pRet);
----------------------------------------------------------------------------------------
//设置主标题
HRESULT SetTitleA([in]BSTR MyTitle,[out,retval]long *pRet);
----------------------------------------------------------------------------------------
//设置副标题
HRESULT SetTitleB([in]BSTR MyTitle,[out,retval]long *pRet);
----------------------------------------------------------------------------------------
//strReportHead"列名|对齐方式(m,l,r)|该列宽度(以一个数字的宽度为单位)|..."
//注:该字串最后不以"|"结尾。
HRESULT SetReportHeadA([in]BSTR strReportHead,[out,retval]long *pRet);
----------------------------------------------------------------------------------------
//strReportHead:"项目名|项目名|..." (各统计项名称)
// ColWide:统计项对应列的宽度
// ColNum:表格所含列数
//注:字串SubItemName最后不以"|"结尾。
// 采取自动与第一个表宽度对齐的机制。
HRESULT SetReportHeadB([in]BSTR strReportHead,[in]int ColWide,[in]int ColNum,[out,retval]long *pRet);
----------------------------------------------------------------------------------------
//相当于反表,数据为一列一列的填
//strReportHead:"行名|行名|..."
// otherColWide:第一列的宽度(写行名的那列)
// ColWide:其它列的宽度
//注:字串strReportHead最后不以"|"结尾。
HRESULT SetReportHeadC([in]BSTR strReportHead,[in]int ColWide,[in]int otherColWide,[out,retval]long *pRet);
----------------------------------------------------------------------------------------
//相当于反表,数据为一列一列的填
//strReportHead:"行名|行名|..."
// otherColWide:第一列的宽度(写行名的那列)
// ColWide:其它列的宽度
//注:字串strReportHead最后不以"|"结尾。
HRESULT SetReportHeadD([in]BSTR strReportHead,[in]int ColWide,[in]int otherColWide,[out,retval]long *pRet);
----------------------------------------------------------------------------------------
//加入记录
HRESULT AddDetail([in]BSTR strItem,[out,retval]long *pRet);
----------------------------------------------------------------------------------------
//写文本,数字,注释等东东
HRESULT WriteText(BSTR strText, long *pRet);
----------------------------------------------------------------------------------------
HRESULT Print([out,retval]long *pRet);
----------------------------------------------------------------------------------------
//设置表的序号
HRESULT SetTableNo([in]BSTR strTableNo,[out,retval]long *pRet);
----------------------------------------------------------------------------------------
//强行分页
HRESULT NewPage([out,retval]long *pRet);
----------------------------------------------------------------------------------------
//双联表
HRESULT DrawDoubleTable([in]BSTR strTableOName,[
展开更多 50%)
分享

猜你喜欢

报表输出轻松搞定

C语言教程 C语言函数
报表输出轻松搞定

[水晶报表部署系列之一]轻松搞定水晶报表9.2打包

电脑网络
[水晶报表部署系列之一]轻松搞定水晶报表9.2打包

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Access如何制作复杂报表——利用Excel输出复杂报表

编程语言 网络编程
Access如何制作复杂报表——利用Excel输出复杂报表

VB报表输出的问题 恳请不吝赐教

电脑网络
VB报表输出的问题 恳请不吝赐教

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Excel 2003轻松套打报表

办公软件
Excel 2003轻松套打报表

轻松搞定键盘卫生

生活常识
轻松搞定键盘卫生

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

让你的软件界面更漂亮(一)

让你的软件界面更漂亮(一)

《高达破坏者2》高分数获得要点方法介绍

《高达破坏者2》高分数获得要点方法介绍
下拉加载更多内容 ↓