ASP.NET用MyXls实现Excel数据导出

如果你和我一样要实现不调用Excel组件实现Excel数据导出的话,那我严重向你推荐MyXls,MyXls是用C#开源项目,可以应用于asp.net 或者 .net应用程序上。它根据微软公开的Excle文档格式文件(BIFF),以二进制格式直接生成excel文档,支持Excel versions 97 - 2007 。这意味着你可以不用在服务器上安装office就能够以excle格式输出数据库中存储的数据了,这对于许多项目来说都是很有用的。

关于MyXls它的主页上是这样描述的:

Writes and now Reads Excel files quickly and easily, including formatting. Generate Excel files for ASP.NET sites or .NET applications. Doesn't require Excel on the server or any licensing $. Compatible with Excel versions >= 97.

其功能之强大也不是谁能一时就能掌握的,我在这里主要介绍一下如何用它实现数据导出,关于用它读取和生成Excel我还没有用过也就不做过多发言了,各位需要可以再google一下!

第一步,当然是下在MyXls,地址:http://sourceforge.net/projects/myxls/

第二步,添加引用org.in2bits.MyXls.dll

第三步,实现数据导出,我这里是将一个DataTable作为数据导出,导出后内容格式和DataTable一致,具体代码如下:

        private void Output(DataTable dt)
        {
            org.in2bits.MyXls.XlsDocument doc = new org.in2bits.MyXls.XlsDocument();
            doc.FileName = DateTime.Now.ToString().Replace("-", "").Replace(":", "").Replace(" ", "") + ".xls";//excel文件名称
            org.in2bits.MyXls.Worksheet sheet = doc.Workbook.Worksheets.AddNamed("sheet1");//Excel工作表名称
            org.in2bits.MyXls.Cells cells = sheet.Cells;
            int colnum = dt.Columns.Count;//获取DataTable列数

            for (int i = 0; i < colnum; i++)
            {
                cells.Add(1, (i + 1), dt.Columns[i].Caption.ToString());//导出DataTable列名
            }
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                for (int j = 0; j < colnum; j++)
                {
                    cells.Add((i + 2), (j + 1), dt.Rows[i][j].ToString());
                }
            }
            //doc.Save(@"D:\");  //保存到指定位置
            doc.Send();//把写好的excel文件输出到客户端
        }

关于其他的使用这里提供一个链接:http://terryli.blog.51cto.com/704315/392125



  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值