2012-07-31
在部队日常管理中,随时知晓装备数量质量状况是一项 经常性工作。新时代背景下,指挥员和参谋人员如何从信息 化系统产生的大量数据中分析、总结出装备变化规律,对平 时和战时都具有非常重要的指导意义。因此,从某种意义上 来说,一个信息化系统设计成功的关键,很大程度上取决于 能否把数据信息以快捷和安全的方式呈现给使用者。虽然 可以通过IE自带的页面打印功能或第3方的控件(如水晶 报表)来实现上述要求,但却因为种种原因不能很好地满足 实际需要[1]。现实生活中,由于Excel与信息的统计、分析有 密切关系,因此可通过编程将有用信息由数据库导入Excel 文档,从而实现Excel报表的自动生成。
1 相关技术介绍 ASP.NET是Microsoft公司的一款主打产品,作为.NET FrameWork框架中的一个重要组成部分,主要用于Web设 计。ASP.NET是统一的Web应用程序平台,提供了为建立 和部署企业级Web应用程序所必需的服务。ASP.NET为能 够面向任何浏览器或设备的更安全的、更强的可升级性,更 稳定的应用程序提供了新的编程模型和基础结构。
Excel是用户非常常用的Office系列软件之一,通过程序 将数据库中的数据导出为Excel文档,可方便使用人员分析 数据。Excel是由Microsoft为Windows和AppleMacintosh操 作系统电脑编写和运行的一款试算表软件,可以进行各种数 据处理、统计分析和辅助决策操作,广泛地应用于管理、统计 财经、金融等众多领域。
1.1 COM组件概述 通过C#.NET创建Excel报表之前,需要在工程中添加 一个Excel的COM组件。COM component(COM组件)是微 软公司为计算机工业的软件生产更加符合人类的行为方式 开发的一种新的软件开发技术。在COM构架下,人们可开 发出各种各样的功能专一的组件,然后将他们按照需要组合 起来,构成复杂的应用系统。由此带来的好处是多方面的: 可以将系统中的组件用新的替换掉,以便随时进行系统的升级和定制;可以在多个应用系统中重复利用同1个组件;可 以方便地将应用系统扩展到网络环境下;COM与语言、平台 无关的特性使所有的程序员均可充分发挥自己的才智与专 长编写组件模块。COM组件是代码的封装,对外提供接口, 有比脚本更强大的功能,并能提高安全性。
1.2 添加MicrosoftExcel11.0ObjectLibrary的引用 在使用COM组件之前,需要添加COM组件的引用,具 体操作方法如下:在解决方案的资源管理器窗口的“引用”菜 单中选择“添加引用”菜单项,之后选中“COM”标签项,在列 表中添加MicrosoftExcel11.0ObjectLibrary(不同版本的Of? fice所对应的COM组件也不同)。COM组件添加完毕后就 可以在应用程序中使用其提供的对象、方法来开发Excel报 表了。
1.3 Excel报表的绘制流程 由于Excel报表一般都采用表格形式来显示数据,故在 将数据填入Excel表格之前须按规定格式对原始数据进行预 处理。先提取出报表所需的数据,再将这些有用数据放入 DataSet对象中。这时,DataSet对象中存放的内容就是Excel 报表的数据源。最后,通过调用COM接口库可将数据源导 出到新建的Excel文档中[2]。Excel报表的绘制流程如图1 所示。2 主要程序设计 2.1 添加命名空间 System.Data.SqlClient命名空间提供了一个类集合,这个类集合用于访问托管空间中的SQLServer数据库。而Ex? cel命名空间则提供了Excel编程所需用的主要类,包括Ap? plication、Workbook、Worksheet及Range。Application对象表 示Excel应用程序本身。Workbook对象是Workbooks集合的 成员,表示Excel应用程序中的单个工作簿。Worksheet对象 是Worksheets集合的成员,表示Excel应用程序中的单个工 作表,其含义如表1所示。
表1 Excel主要成员对象 对象作用 Application Excel应用程序 Workbook Excel工作簿 Worksheet Excel工作表 Range Excel区域 2.2 主要代码 //从数据库导出到EXCEl[3]: /?当点击“导出到EXCEL"按钮时,弹出一个对话框, 提示用户选择保存文件的位置?/ privatevoidbuttonlClick(objectsender,EventArgse) { SaveFileDialogl.Title="请 选 择 导 出 文 件 的 存 储 路 径 "; saveFileDialogl.FilelVame=comboBox1.Text.ToString(); saveFileDialogl.Filter="EXCEL文档(?.x1s)|?. xls"; saveFileDialog1.ShowDialog(); } /?当用户点击保存文件对话框中的“保存”按钮时,将 dataGridViewl中的数据表导出到EXCEL电子表格中?/ privatevoidsaveFileDialoglFileOk (objectsender,System.ComponentModel.CancelEventArgs e) { if(saveFileDialogl.FileName! ="") { Microsoft.Office.Interop.Excel.Applicationmyxls=ne? wMicrosoft.Office.Interop.Excel.Application(); if(myxls==null) MessageBox.Show("无法创建EXCEL对象"); else { myxls.Visible=false; Workbooksworkbooks=myxls.Workbooks; //建立EXCEL工作簿 Workbookworkbook=myxls.Workbooks.Add(XIWBA? Template.xlWBATWorksheet); Worksheetworksheet=(Worksheet)hvorkbook.Workshe?ets; stringtableName=comboBoxl.Text.ToString();//读取数 据表名 //将数据表中的字段名写入EXCEL表的第一行 for(inti=0;i<ClassVariable.dataSetIn.Tables[ta? bleName].Columns.Count-1;i++) worksheet.Cells[1,i+1]=dataGridViewl.Columns[i]. HeaderText; //将数据表中的数据写入EXCEL表 for(inti=0;i<ClassVariable.dataSetIn.Tables[ta? bleName].Rows.Count;i++) for(intj=0;j<C1assVariable.dataSetIn.Tables[ta? bleName].Columns.Count-1;j++) worksheet.Cells[i+2,j+1]=C1assVariable.dataSetIn. Tables[tableName].Rows[i][j].ToString();//保存EXCEL 工作簿 workbook.Saved=true; workbook.SaveCopyAs(saveFileDialogl.FileName); /?在EXCEL保存完毕后,释放资源。释放对象的顺序 应与创建对象的顺序相反?/ System.Runtime.InteropServices.Marshal.ReleaseComObject (worksheet); Worksheet=null; System.Runtime.InteropServices.Marshal.ReleaseComObject (workbook); workbook=null; workbooks.Close(); System.Runtime.InteropServices.Marshal.ReleaseComObject (workbooks); workbooks=null; myxls.0uit()System.Runtime.InteropServices.Marshal. ReleaseComObject(myxls); myxls=null; MessageBox.Show("导出Excel成功"); }}}
荒野迷城游戏下载v1.22.0 安卓版
策略塔防 1.55G
下载以闪亮之名官方正版下载v2.1.7 安卓国服
角色扮演 2.33G
下载宝宝神奇汽车宝宝巴士官方版下载v9.83.09.41 安卓版
其它手游 222.6M
下载fifa足球世界体验服最新版下载v27.1.01 安卓官方版
体育运动 1.18G
下载米加小镇城堡生活免费版下载v3.3 安卓版
其它手游 418M
下载托卡迷你新世界最新版本下载v1.12 安卓版
其它手游 179.1M
下载迷你魔法古镇城市最新版下载v1.0 安卓版
其它手游 305.7M
下载托卡生活仙境世界游戏下载v1.14 安卓版
其它手游 813.2M
下载托卡小镇创造世界最新版下载v5.8 安卓正版
下载
茶杯头大冒险手机版下载v106206 安卓最新版本
下载
迷你乐园米加世界官方版下载v2.7 安卓版
下载
部落冲突vivo官方正版下载v16.100.1 最新安卓应用商店版
下载
迷你校园假期生活游戏下载v3.0 安卓版
下载
有趣的挖掘机游戏下载v1.12 安卓版
下载
托卡小镇家庭屋游戏下载v1.21 安卓版
下载
三国群英传霸王之业苹果版下载v1.2.9 iphone版
下载