社区
数据库
帖子详情
如何做统计报表?
xmzhy
2003-04-22 02:34:22
我在人事管理中想按部门或性别进行统计,然后打印输出,请问如何实现?
...全文
1824
21
打赏
收藏
如何做统计报表?
我在人事管理中想按部门或性别进行统计,然后打印输出,请问如何实现?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Skt32
2003-07-11
打赏
举报
回复
类似EXCEL的报表类库
作者:supervip
源代码:类似EXCEL的开发库
http://www.vckbase.com/document/viewdoc.asp?id=761
http://www.vckbase.com/code/downcode.asp?id=2022
此代码是一个电子表格类库,还不是很完善,希望大家给多点意见和建议,我会尽快把相应功能丰富进去的。我的信箱:zzxiong@citiz.net
现在这个sample不是很完整,我也正在完善中,相应的函数接口到时我会整理成一个文档发布给大家。
声明:
对于此代码中可能引用了其他网站上的一些技术,如果侵犯了相关作者的权益请尽快联系我,我会删除其中不合适部分。也请下载此代码的人尊重代码的原作者的意愿。若下载者要使用此代码请自行征求原作者的意见。
1.12版本现支持单元格合并,文本对齐方式,字体,字体颜色,表格线定制,单元格读写权控制,列排序,动态增删行列,支持通过剪贴板同其他软件间的数据进行交互,支持单元格图形显示。可根据开发者需要进行二次开发,类库提供比较丰富的开发接口类函数,支持类似EXCEL的所见机所得的打印预览。
在下一版本中作者还将加入单元格公式计算,数据库绑定,图表显示,支持HTML文件存储。
以下为单元格公式解析的部分代码,大家感兴趣可以看一下!
CString CGridCtrl::ParserExpression(CString strExpression)
{
CString strSign; //运算符
CString strRetu;
CString strTmp2;
CString strTmp3;
LPCSTR lpstr;
char strTmp[200];
long nTmp;//,nRetu;
long i,nLen,nStatus;
int nRow,nCol;
strExpression.MakeUpper();
nLen = strExpression.GetLength();
strSign = "+,-,*,/,(,)";
strRetu = "";
nStatus = 0 ; // 0 初始状态\遇到加减括号等符号 1 字母开始 2 数值开始
nTmp = -1;
memset(strTmp,0,200);
lpstr = strExpression;
for ( i=1; i=0 )||(i+1 >=nLen)) //是运算符号
{
if ((i+1 >= nLen)&&((strExpression.GetAt(i)>=''''0'''') &&
(strExpression.GetAt(i)<=''''9'''')))
{
nStatus = 2;
nTmp++;
strTmp[nTmp] = lpstr[i];//strExpression.GetAt(i);
}
if ((nStatus==2)&&(strExpression.GetAt(i)==''''('''')) nStatus=1;
if ( nStatus==1 ) //非单元格和正常计算数,直接拼串返回
{
strTmp3 = "";
strTmp3.Format("%s",strTmp);
strRetu = strRetu + strTmp3;
}
else if ( nStatus == 2) //正常单元格对象或者数字
{
//项 strRetu = strRetu + "<" + _T(strTmp) + ">";
if (!IsValidCol(strTmp))
{
//return "#NAME!";
strTmp3 = "";
strTmp3.Format("%s",strTmp);
strRetu = strRetu + "(" + strTmp3 + ")";
}
else
{
nRow = 0; nCol = 0;
// strTmp = ParserCell() 递归
// MessageBox(strTmp,"ooo",1);
strTmp2.Format("%s",strTmp);
CCellID cell;
if (ConvertStrToCellID(strTmp2,cell))
{
// MessageBox(strTmp,"ooo1111",1);
strTmp3 = ParserCell(cell.row,cell.col);
sprintf(strTmp,"%s",strTmp3.GetBuffer(strTmp3.GetLength()));
strTmp3 = "";
strTmp3.Format("%s",strTmp);
strRetu = strRetu + "(" + strTmp3 + ")";
}
else
return "#INVALID!";
//strRetu = strRetu + "<" + _T(strTmp) + ">";
// MessageBox(strTmp,"ooo2222",1);
}
}
nStatus = 0;
nTmp = -1 ;
memset(strTmp,0,200);
if (!((i+1 >= nLen)&&((strExpression.GetAt(i)>=''''0'''') &&
(strExpression.GetAt(i)<=''''9''''))))
{
strTmp3 = "";
strTmp3.Format("%c",lpstr[i]);//strExpression.GetAt(i));
strRetu = strRetu + strTmp3;
}
}
else if ((strExpression.GetAt(i)>=''''A'''') && (strExpression.GetAt(i)<=''''Z''''))
{
nStatus = 1;
nTmp++;
strTmp[nTmp] = strExpression.GetAt(i);
}
else if ((strExpression.GetAt(i)>=''''0'''') && (strExpression.GetAt(i)<=''''9''''))
{
nStatus = 2;
nTmp++;
strTmp[nTmp] = lpstr[i];//strExpression.GetAt(i);
}
}
return strRetu;
}
图像1:用类库做的样例
xmzhy
2003-07-05
打赏
举报
回复
hjunxu:
请问有其他的方法统计报表吗?
hjunxu
2003-06-05
打赏
举报
回复
同意 ahphone(阿丰) ,如果自己写报表的话,如果格式固定还好,如果不是的话会非常烦人的。DC里面的任何一个点都要自己算了位置在话上去,烦啊。
xmzhy
2003-06-05
打赏
举报
回复
ahphone:
您好!
能否给点原代码?让我看看您是如何写的,如果可以我马上结帐,谢谢!ustczhy@yeah.net
康斯坦汀
2003-06-05
打赏
举报
回复
"任何一个点都要自己算了位置在话上去,烦啊"
为什么要这样?如果带一个所见所得的设计器的话,不用算。
yangzhb2003
2003-06-04
打赏
举报
回复
up
ahphone
2003-06-04
打赏
举报
回复
我觉得用第三方的工具比较好,也有免费的比较好的报表工具的。
我这边的报表生成全是用自己的代码实现的,好在输出的格式固定,否则我现在从头再找个报表控件作起,我要被烦死~
xmzhy
2003-06-04
打赏
举报
回复
请大家谈谈经验,谢谢!
天限天空
2003-06-04
打赏
举报
回复
没那么简单
评估一下你项目的成本,报表最好是购买第3方的工具
5K 左右
superTY
2003-06-04
打赏
举报
回复
up
CharmDream
2003-06-04
打赏
举报
回复
http://www.codeproject.com/miscctrl/#Grid Control
CharmDream
2003-06-04
打赏
举报
回复
www.codeproject.com扛鼎之作MFC GridCtrl
当然,如果要做中国式报表,必须用清华Wangwei修订的可以合并单元格的版本
也在那个站点上,相关例子也可在www.vckbase.com上找
xmzhy
2003-04-25
打赏
举报
回复
打印报表输出如何画列表格?
small_wei
2003-04-23
打赏
举报
回复
F1BOOK在google上能找到。
xmzhy
2003-04-23
打赏
举报
回复
small_wei:
请问您有第三方控件报表吗?有类似的范例吗,能否发一个过来:ustczhy@yeah.net,谢谢!
rengm
2003-04-23
打赏
举报
回复
UP
xmzhy
2003-04-23
打赏
举报
回复
自己一条、一条语句的书写,结果还是不能成功,请大家帮忙,谢谢!
small_wei
2003-04-22
打赏
举报
回复
我没有用过List Control做打印的,这需要自己画,在www.vckbase.com应该有吧。我都是用第三方控件做报表的。如f1book
xmzhy
2003-04-22
打赏
举报
回复
small_well:
统计结果我已经做完了,(放在List Control中)剩下打印报表格式如何处理?(中国式的报表)
small_wei
2003-04-22
打赏
举报
回复
select * from tablename group by 部门,性别
然后输出到一些表格控件去。在www.vckbase.com中有一些范例
加载更多回复(1)
用project
做
项目计划及总结
报表
兼顾理论和实践,基于案例,从产品需求、开发需求、分解任务、任务评估、用project
做
项目计划、计划的改进、工作执行、项目总结、项目
报表
、
报表
改进、
报表
汇报等实战一条龙的流程进行。
使用正确的
报表
软件
做
统计
,帮助企业提高
统计
报表
的质量
统计
工作对于一个企业而言是很重要的,它不仅是实现企业科学化管理的主要手段,还是企业在决策过程中的重要依据,同时还是一个企业衡量市场
做
出判断的标准,所以
统计
年终
报表
是有多么的重要。但是
统计
年终
报表
比较复杂,
统计
起来浪费人力物力,浪费资源,还担心会出现记错、记漏等现象,因此选择一个正确的
报表
软件
做
统计
报表
显得尤为重要。 如何选择正确的
报表
软件
做
统计
报表
? 在选型制作
统计
报表
的软件时,必须要有强大的数据分析
统计
功能,能否满足一些高级的汇总分析的需要,比如同比环比排名序号,是否有封装好的公式或者模型拿来就用,以及工
java制作
报表
统计
_
统计
报表
制作,怎样
做
报表
统计
统计
报表
是管理者获取基本
统计
信息和了解基本发展情况的重要手段。一份看似简单的
统计
报表
,其实操作起来并没有那么简单。那么,
统计
报表
制作流程方法是什么? 怎样
做
报表
统计
?本文让专业数据分析师回答。一、
统计
报表
是什么
统计
报表
是指各级企业、企业和行政单位按照规定的形式、内容和时间要求,按照规定的程序提交
统计
调查
报表
,并由上至下安排提供
统计
数据的
统计
调查方法。统一性是
统计
报表
的基本特征。具体表现为:内容统一...
统计
报表
指的是什么?有什么专业的
报表
制作软件?
统计
报表
是管理者获取基本
统计
信息和了解基本发展情况的重要手段。一份看似简单的
统计
报表
,其实操作起来并没有那么简单。
统计
报表
的定义是什么?
统计
报表
是按国家统一规定的表式,统一的指标项目,统一的报送时间,自下而上逐级定期提供基本
统计
资料的调查方式方法。我国大多数
统计
报表
要求调查对象全部单位填报,属于全面调查范畴,所以又称全面
统计
报表
。
统计
报表
按其性质和要求不同,有如下几种分类。 按
报表
内容和实施范围不同,分为国家
统计
报表
、部门
统计
报表
和地方
统计
报表
。 国家
统计
报表
——国民经济基本
统计
报表
,由国家
统计
部门统
如何制作
统计
报表
(盈帆
报表
: efreprt.com)
课程十九、如何制作
统计
报表
说明:数据集中有很多分组,那么分组的数据如何在
报表
中进行
统计
。本课程以购货单信息表按照分组
报表
制作之后,进行
统计
,,效果如下步骤一:添加数据源点击数据源区,在弹出来的数据集语句获取窗口中输入:select* from 购货单信息表,把购货单信息表加入数据源区。步骤二:建立工作表如下图完成工作表,本课程主要是先对不同产品类别的购买金额
做
统计
设置字段“小计”父格为“产品类别”...
数据库
4,011
社区成员
39,816
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章