首 页 ┆ 源码下载 ┆ IT学院 ┆ 字体下载 ┆ 模板下载 ┆ 源码发布 ┆ 广告合作 ┆ 网站地图 ┆ 虚拟主机 ┆ 中文域名
► 设为首页
► 加入收藏
► 联系我们
源码下载 >> ASP源码 | PHP源码 | ASP.net源码 | JSP源码 | CGI源码 | VC/C++源码 | VB源码 | Delphi源码 | Flash源码
文章学院 >> 网络编程 | 网页设计 | 图形图象 | 数据库 | 服务器 | 网络媒体 | 网络安全 | 操作系统 | 办公软件 | 软件开发 | 黑客知识
字体下载 >> 精制字体 | 非英字体 | 艺术字体 | 著名字体 | 哥特式 | 简单字体 | 手写体 | 节假日 | 图案字体 | 精度像素 | 中文字体
模板下载 >> 企业门户 | 数码网络 | 休闲娱乐 | 影视音乐 | 旅游名胜 | 文化艺术 | 电子商务 | 个性展示 | 登陆导航 | Flash模板
►►您当前的位置:源码园 → IT学院 → 软件开发 → VC编程 → 文章内容

报表输出轻松搞定

作者:一行代码  来源:网上收集  发布时间:2007-3-27 10:17:31

报表输出轻松搞定

作者:一行代码

下载源代码

一、刚刚开发了一个报表输出的 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,[in]BSTR strTableTName,[out,retval]long *pRet);
----------------------------------------------------------------------------------------
//添加制表人
HRESULT SetTableMaker([in] BSTR strTableMaker,[out,retval]long *pRet);

具体的用法请参见程序。希望可以节约大家的一些时间。代码没有限制,可随意使用。
 

[] [返回上一页] [打 印]
  • 上一篇文章:利用非模窗口生成MDI介面
  • 下一篇文章:在类VC的界面实现中加入目录树

  • 相关文章:
  • [图文]报表输出轻松搞定
  • [图文]轻松搞定Excel表格与图片的转换
  • 轻松搞定WORD中的生僻字
  • [组图]轻松搞定纯DOS抓图
  • 六大绝招轻松搞定系统更新
  • 轻松搞定RedHat 9命令行(CLI)下看各类图片
  • 系统问题不断,无须重装轻松搞定--系统问题不断,无...
  • [图文]小编教你用三招轻松搞定JPEG图片病毒--三招轻...
  • [组图]安装IE7.0密技 绕过WGA 完美轻松搞定--安装,I...
  • [组图]轻松搞定 让键盘上的Windows旗帜不再飘扬--键...
  • [组图]Vista看高清电影声音太小 看我轻松搞定--Vist...
  • 几行代码轻松搞定网页的简繁转换
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 源码发布
Copyright © 2003-2009 Ymyasp.Com. All Rights Reserved .
备案序号:粤ICP备07029071号