郭玉乐 内蒙古科技大学信息工程学院和内蒙古包钢钢联股份有限公司炼铁厂
刘丕亮 内蒙古科技大学信息工程学院
利用C++ Builder实现Excel数据及图表生成
郭玉乐 内蒙古科技大学信息工程学院和内蒙古包钢钢联股份有限公司炼铁厂
刘丕亮 内蒙古科技大学信息工程学院
Microsoft Office中的Excel是一款实用性很强的表格处理软件,可以方便快捷的进行数据计算、处理,而它的图表功能,也可以直观的反映数据情况。在C++ Builder的开发环境中,可以利用OLE实现Excel数据及图表的自动生成,使得生成高炉生产日报更加及时、数据更加准确、直观,并且提高了工作效率。本文对C++ Builder实现Excel的数据导出、页面设置、图表生成等过程进行了详细的介绍。
C++ Builder Excel OLE 图表
炼铁厂高炉每天要手工填写纸质生产班报,再把数据录入到生产程序中。这样,容易导致数据在抄写录入过程中出现误差、不一致,并且岗位职工的劳动强度比较大。
随着炼铁厂信息化水平的逐步提升,要求高炉班报电子化,便于信息快速传递、数据资源共享。炼铁厂常用开发工具是C++ Builder,C++ Builder环境中提供了QReport组件可以完成简单的报表设计功能。由于高炉班报数据量大,结构复杂,用程序直接生成、打印报表实现起来比较困难。Excel不仅可以实现复杂报表,并且有强大的数据统计分析功能,但是Excel数据不便于存储和灵活查询。鉴于以上原因,决定利用现有生产管理系统数据自动生成Excel班报。
2.1 Excel的自动启动
为了方便与Office套件进行数据共享,C++ Builder中定义了一些OLE对象来完成此操作,对于Excel是Excel.Application对象,用这种方法对Excel文件进行操作,必须要借助Excel. Application对象的属性和方法来进行。
创建应用对象:
程序首先建立Excel.Application对象,再将其与指定的Excel文件关联,并打开文件,再获得工作薄对象,据此选中所需的工作表作为当前工作表,此后即可读取与写入指定的单元格的内容。除对数据操作外,Excel.Application对象的方法还可对字体、颜色、工作表名、表格格式等进行设置。
2.2 向Excel导出数据
连接存储过程,传递参数。实现数据查询,并输出到Excel中:
3.1 图表类型
图表类型分为标准类型和自定义类型,在此着重介绍折线图的相关知识。折线图共有8种样式。选择图表类型的语法形式为:
3.2 图表设置
xlRows表示数据是以列来做排列,xlColumns表示用行来做排列。如果是xlRows,选择范围的第一列就是X轴数据的名称,第一行是Y轴数据的名称,其余的作为图表里的数值。
3.3 实现方法
3.3.1 利用OLE实现Excel数据及图表的自动生成
设置图标类型,这里设置的为折线图
Chart.OlePropertySet("ChartType",4);
3.3.2 生成高炉班报展示(图1)
图1 高炉班报
[1]萨师煊.数据库系统概论[M].北京:高等教育出版社,清华大学出版社,2005
[2]Kent Reisdorph,等.C++ Builder4技术内幕[M].徐新华,译.人民邮电出版社,2000:411-453
[3]杜希国,利用C++ Builder实现Excel个性化页面设置[J].电脑编程技巧与维护,2011,(3):29-31
[4]于洪章.在C++ Builder中用OLE实现Excel的存取与共享[J].福建电脑,2008,(2):169-170
[5]云舟工作室.中文版Excel2000VBA一册通.北京:人民邮电出版社,2000:277-291