类似EXCEL的报表类库

2016-01-29 12:06 4 1 收藏

类似EXCEL的报表类库,类似EXCEL的报表类库

【 tulaoshi.com - C语言心得技巧 】

类似EXCEL的报表类库

作者:朱志雄

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

下载源代码

  此代码是一个电子表格类库,还不是很完善,希望大家给多点意见和建议,我会尽快把相应功能丰富进去的。我的信箱: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
                        

来源:http://www.tulaoshi.com/n/20160129/1484615.html

延伸阅读
一个打印报表的简单的类 作者:李静南 下载源代码 一、前两天为公司改程序,其中有一部分是要打印出报表。原来的程序是调用VB写的一个程序。那个程序用VBA方式实现的,在一个空的WORD表格模板里填入数据,让WORD去打印,效果还可以,就是速度很慢。但是这次,上次写代码的人已经不在...
标签: 办公软件
摘 要:Excel是当前最流行的数据报表制作工具。本文介绍如何使用Delphi来控制Excel完成数据库与报表之间的数据交换,讨论了报表制作工程中的一些细节性问题。 关键字:Delphi,Excel,报表 引言 数据报表作为企事业单位上报和下达的重要信息载体,随着信息化建设的不断推进,在实际的工作中得到了前所未有的应用。因...
标签: 电脑入门
①报表的概念 这张报表包含了报表的基本元素,即页眉、页脚、横表头、竖表头、表头交叉区、单元格。 页 眉:位于报表的最上部分。作为报表的描述性信息,概括性的说明报表的名称、表号、批准机关、批准文号等。 页 脚:位于报表的最下部分,用于说明报表的其它信息,例如:单位负责人、部门负责人、制表人等信息。 横表头:也叫宾栏,位于...
标签: excel
Excel如何设置自动生成分页报表   详细操作步骤: ①图老师小编先在网上下载了一份原始数据表格,我们用Excel2007打开,单击菜单栏--插入--数据透视表,弹出创建数据透视表对话框,选择表区域以及放置的位置,确定。 ②右侧出现数据透视表字段列表,将地区和城市拖到报表筛选中,姓名拖到列标签中,类别名称拖到行标签中...
标签: 电脑入门
如果能在修改Excel报表时 高亮显示修改的全部内容 ,修改工作一目了然,势必会提高工作效率。 经过研究,我找到了方法:启动Excel,点击工具→宏→安全性 (如图),在安全级中选择中,您可以选择是否运行可能不安全的宏。 然后打开要修改的Excel报表,右击工作表标签,选择查看代码,将相关代码贴到右侧的代码框中即可)。 代码...

经验教程

151

收藏

93
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部