c#中将数据库数据导出到EXCEL中

我分以下几步进行介绍: 1,新建一个C#应用程序,在对话框上放置一个按钮,Name=buttonOutput,Text=Output,用这个按钮激发导出程序;

2,添加对“Microsoft Excel 9.0 Object Library”的引用,根据自己计算机上安装Office版本的来确定Library的版本;

3,在代码中加入引用:

using Excel;

using System.Reflection;

 4,在buttonOutput按钮单机事件中加入以下代码:

            string strSql;
            int col = 0, row = 2;

            //定义数据变量
           private OleDbConnection conn;
           private OleDbCommand comm;
           private OleDbDataReader reader;

          //连接到数据库

            string strConnectionstring = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DB.mdb";
            conn = new OleDbConnection(strConnectionstring);
            conn.Open();
            comm = conn.CreateCommand();

        //建立Excel应用对象

            Excel.Application xlapp = new Excel.ApplicationClass();
            xlapp.Workbooks.Add(true );
            xlapp.Visible = false  ;
            strSql = "select * from INFO";
            comm.CommandText = strSql;
            reader=comm.ExecuteReader();
            if (reader.HasRows)
            {
                for (col = 0; col < reader.FieldCount; col++)
                {
                    xlapp.Cells[1, col + 1] = reader.GetName(col); 
                }

                while (reader.Read())
                {
                    for (col = 0; col < reader.FieldCount; col++)
                    {
                        xlapp.Cells[row, col + 1] = reader.GetValue(col).ToString();  

                    }
                    row++;
                }
            }
            xlapp.Visible = true;
             xlapp.Worksheets.PrintPreview(true);
            
            //关闭数据库纪录集

            reader.Close(); 

          comm.Close();

具体内容请参考我的BLOG:http://blog.youkuaiyun.com/smallwhiteyt/archive/2009/11/08/4784771.aspx 如果你耐心仔细看完本文,相信以后再遇到导出EXCLE操作的时候你会很顺手觉得SO EASY,主要给新手朋友们看的,老鸟可以直接飘过了,花了一晚上的时间写的很辛苦,如果觉得对你有帮助烦请留言支持一下,我会写更多基础的原创内容来回报大家。 C#导出数据EXCEL表格是个老生常谈的问题了,写这篇文章主要是给和我一样的新手朋友提供两种导出EXCEL的方法并探讨一下导出的效率问题,本文中的代码直接就可用,其中部分代码参考其他的代码并做了修改,抛砖引玉,希望大家一起探讨,如有不对的地方还请大家多多包涵并指出来,我也是个新手,出错也是难免的。 首先先总结下自己知道的导出EXCEL表格的方法,大致有以下几种,有疏漏的请大家补充。 1.数据逐条逐条的写入EXCEL 2.通过OLEDBEXCEL做为数据源来写 3.通过RANGE范围写入多行多列内存数据EXCEL 4.利用系统剪贴板写入EXCEL 好了,我想这些方法已经足够完成我们要实现的功能了,方法不在多,在精,不是么?以上4中方法都可以实现导出EXCEL,方法1为最基础的方法,意思就是效率可能不是太高,当遇到数据量过大时所要付出的时间也是巨大的,后面3种方法都是第一种的衍生,在第一种方法效率低下的基础上改进的,这里主要就是一个效率问题了,当然如果你数据量都很小,我想4种方法就代码量和复杂程度来说第1种基本方法就可以了,或当你的硬件非常牛逼了,那再差的方法也可以高效的完成也没有探讨的实际意义了,呵呵说远了,本文主要是在不考虑硬件或同等硬件条件下单从软件角度出发探讨较好的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lujunql

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值