在c#中利用excel做高级报表

上传人:xzh****18 文档编号:34243847 上传时间:2018-02-22 格式:DOC 页数:12 大小:1.18MB
返回 下载 相关 举报
在c#中利用excel做高级报表_第1页
第1页 / 共12页
在c#中利用excel做高级报表_第2页
第2页 / 共12页
在c#中利用excel做高级报表_第3页
第3页 / 共12页
在c#中利用excel做高级报表_第4页
第4页 / 共12页
在c#中利用excel做高级报表_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《在c#中利用excel做高级报表》由会员分享,可在线阅读,更多相关《在c#中利用excel做高级报表(12页珍藏版)》请在金锄头文库上搜索。

1、在 C#中利用 Excel 做高级报表浙江省丽水市汽车运输集团有限公司信息中心 苟安廷 http:/Visual Studio.Net 自 2001 年 2 月问世以来,受到越来越多人的喜爱, C#做为主力军,集 VB、 Delphi 的简单和 VC 的简炼与强大于一体,更是让许多人爱不释手,纷纷倒向它的怀抱。通常的软件都要用到数据库,数据库中必然要用到报表,在 Visual Studio.Net 中自带了一个水晶报表,虽然功能十分强大,但市面上相关资料非常缺乏,网上全面介绍其使用的文章也屈指可数。Excel 是微软公司办公自动化套件中的一个软件,主要是用来处理电子表格。Excel 以其功能强

2、大,界面友好等受到了许多用户的欢迎,几乎每一台机器都安装了它,因此,我们可以将数据导入 Excel 进行排版。由于 Excel 的格式是封闭的,无法直接创建一个 Excel 文件然后来排版,只有借助 Com组件来完成,同样,介绍用 C#操作 Excel 的文章也就那么几篇,基本上都是告诉你如何新建一个 Excel 文件,然后,将数据写入某单元格,最多再零星告诉你如何合并单元格,真正使用起来根本无法用 C#做出漂亮报表。本文巧妙利用 Excel 的宏来自动排版,大大减少了工作量,而且可以随时修改模板而无须修改程序,非常实用。本人使用的是 Office 2000,操作系统为 windows 200

3、0 professinal,为使问题简单化,这里不介绍数据库的知识,我一个二维数组来代表一个数据库中的表,我们的目的是将该数组放到 Excel 中,并排版成需要的格式,数组如下:车牌号 类 型 品 牌 型 号 颜 色 附加费证号 车架号浙 KA3676 危险品 货车 铁风 SZG9220YY 白 1110708900 022836浙 KA4109 危险品 货车 解放 CA4110P1K2 白 223132 010898浙 KA0001A 危险品 货车 南明 LSY9190WS 白 1110205458 0474636浙 KA0493 上普货 货车 解放 LSY9190WS 白 11102559

4、71 0094327浙 KA1045 普货 货车 解放 LSY9171WCD 蓝 1110391226 0516003浙 KA1313 普货 货车 解放 9190WCD 蓝 1110315027 0538701浙 KA1322 普货 货车 解放 LSY9190WS 蓝 24323332 0538716浙 KA1575 普货 货车 解放 LSY9181WCD 蓝 1110314149 0113018浙 KA1925 普货 货车 解放 LSY9220WCD 蓝 1110390626 00268729浙 KA2258 普货 货车 解放 LSY9220WSP 蓝 1110481542 00320为了在

5、 C#中使用 Excel,我们要先做一点准备工作,通过查找(前提是你安装 Visual Studio.Net 和 Excel 2000) ,在你的计算机中找到 TlbImp 和 Excel9.olb,将他们复制到一个文件夹中,在 DOS 窗口中执行 TlbImp Excel9.olb,这时会产生以下三个文件:Excel.dll、Office.dll 和 VBIDE.dll。我们来完成两项任务,一是按网上文章介绍的方法,增加将数据写入一个 Excel 文件,也就是做一个简单报表,二是用 Excel 创建一个文件,然后以此文件为模板生成高级报表。打开 Visual Studio.Net,新建一个

6、C#的 windows 应用程序,取名为 MyExcel。根据个人爱好,对窗口做一些美化工作,然后放两个按钮:btnNormal 和 btnAdvance,Caption 分别为“普通报表”和“高级报表” 。从菜单中选择“项目”“添加应用” ,在弹出的对话框中选 com 页,再点浏览按钮,选择刚才生成的三个文件,如下:点“打开”按钮,再点“确定”按钮。切换到代码窗口中,在文件头添加下面两个引用:using System.IO;using System.Reflection;再添加一个二维数组来表示数据表:private string , myData= 车牌号,类 型,品 牌,型 号,颜 色,

7、附加费证号,车架号,浙KA3676,危险品,货车,铁风SZG9220YY,白,1110708900,022836,浙KA4109,危险品,货车,解放CA4110P1K2,白,223132,010898,浙KA0001A,危险品,货车,南明LSY9190WS,白,1110205458,0474636,浙KA0493,上普货,货车,解放LSY9190WS,白,1110255971,0094327,浙KA1045,普货,货车,解放LSY9171WCD,蓝,1110391226,0516003,浙KA1313,普货,货车,解放9190WCD,蓝,1110315027,0538701,浙KA1322,普

8、货,货车,解放LSY9190WS,蓝,24323332,0538716,浙KA1575,普货,货车,解放LSY9181WCD,蓝,1110314149,0113018,浙KA1925,普货,货车,解放LSY9220WCD,蓝,1110390626,00268729,浙KA2258,普货,货车,解放LSY9220WSP,蓝,111048152,00320;切换回设计窗口,双击“普通报表”按钮,设计普通报表,代码如下:private void btnNormal_Click(object sender, System.EventArgs e)/创建一个Excel文件Excel.Applicatio

9、n myExcel = new Excel.Application ( ) ;myExcel.Application.Workbooks.Add ( true ) ;/让Excel文件可见myExcel.Visible=true;/第一行为报表名称myExcel.Cells1,4=普通报表;/逐行写入数据,for(int i=0;i/ Form1 的摘要说明。/ public class Form1 : System.Windows.Forms.Formprivate System.Windows.Forms.Button btnNormal;private System.Windows.Fo

10、rms.Button btnAdvace;/ / 必需的设计器变量。/ private System.ComponentModel.Container components = null;public Form1()/ Windows 窗体设计器支持所必需的/InitializeComponent();/ TODO: 在 InitializeComponent 调用后添加任何构造函数代码/ / 清理所有正在使用的资源。/ protected override void Dispose( bool disposing )if( disposing )if (components != null)

11、 components.Dispose();base.Dispose( disposing );#region Windows Form Designer generated code/ / 设计器支持所需的方法 - 不要使用代码编辑器修改/ 此方法的内容。/ private void InitializeComponent()this.btnNormal = new System.Windows.Forms.Button();this.btnAdvace = new System.Windows.Forms.Button();this.SuspendLayout();/ / btnNorma

12、l/ this.btnNormal.Location = new System.Drawing.Point(49, 55);this.btnNormal.Name = btnNormal;this.btnNormal.TabIndex = 0;this.btnNormal.Text = 普通报表;this.btnNormal.Click += new System.EventHandler(this.btnNormal_Click);/ / btnAdvace/ this.btnAdvace.Location = new System.Drawing.Point(169, 55);this.b

13、tnAdvace.Name = btnAdvace;this.btnAdvace.TabIndex = 1;this.btnAdvace.Text = 高级报表;this.btnAdvace.Click += new System.EventHandler(this.btnAdvace_Click);/ / Form1/ this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);this.ClientSize = new System.Drawing.Size(292, 133);this.Controls.AddRange(new Sys

14、tem.Windows.Forms.Control this.btnAdvace,this.btnNormal);this.Name = Form1;this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;this.Text = Form1;this.ResumeLayout(false);#endregion/ / 应用程序的主入口点。/ STAThreadstatic void Main() Application.Run(new Form1();private string , myData= 车牌

15、号,类 型,品 牌,型 号,颜 色,附加费证号,车架号,浙KA3676,危险品,货车,铁风SZG9220YY,白,1110708900,022836,浙KA4109,危险品,货车,解放CA4110P1K2,白,223132,010898,浙KA0001A,危险品,货车,南明LSY9190WS,白,1110205458,0474636,浙KA0493,上普货,货车,解放LSY9190WS,白,1110255971,0094327,浙KA1045,普货,货车,解放LSY9171WCD,蓝,1110391226,0516003,浙KA1313,普货,货车,解放9190WCD,蓝,1110315027,0538701,浙KA1322,普货,货车,解放LSY9190WS,蓝,24323332,0538716,浙KA1575

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 模板/表格

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号