zoukankan      html  css  js  c++  java
  • C# 使用EPPlus 秒导出10万条数据

    1.先要引用dll文件,可以直接使用vs自带的包管理,如下图:

    输入 EPPlus

     我这里是安装过了的所以这里显示的是卸载而不是安装。

    安装成功了之后会看到这个dll文件

    代码如下:

    //导出Excel
            protected void BtnMemExcel_Click(object sender, EventArgs e)
            {
                Mem bllMember = new Mem();
                int Counts = NetPagerParameter.RecordCount;
                string strSql = QueryCondition();
                strSql += "and Mem.MemShopID = SysShop.ShopID and Mem.MemLevelID = MemLevel.LevelID and Mem.MemUserID = SysUser.UserID";
                strSql += (" and Mem.MemShopID =SysShopMemLevel.ShopID and SysShopMemLevel.MemLevelID=MemLevel.LevelID ");
                DataTable db = bllMember.GetListSP(100000, 1, out Counts, PubFunction.GetShopAuthority(_UserShopID, "MemShopID", strSql)).Tables[0];//将数据填充到table中
                
                //核心代码
                using (ExcelPackage package = new ExcelPackage())
                {
                    ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet");
    
                    worksheet.Cells[1, 1].Value = "会员卡号";
                    worksheet.Cells[1, 2].Value = "会员姓名";
                    worksheet.Cells[1, 3].Value = "会员余额" + DateTime.Now.ToString("yyyy-MM-dd HH:mmssffff");
                    for (int i = 2; i < db.Rows.Count + 2; i++)
                    {
                        worksheet.Cells[i, 1].Value = db.Rows[i - 2]["MemCard"];
                        worksheet.Cells[i, 2].Value = db.Rows[i - 2]["MemName"];
                        worksheet.Cells[i, 3].Value = db.Rows[i - 2]["MemMobile"];
                        worksheet.Cells[i, 4].Value = db.Rows[i - 2]["MemBirthday"];
                        worksheet.Cells[i, 5].Value = db.Rows[i - 2]["MemPoint"];
                        worksheet.Cells[i, 6].Value = db.Rows[i - 2]["MemConsumeMoney"];
                        worksheet.Cells[i, 7].Value = db.Rows[i - 2]["ShopName"];
                    }
                    var data = package.GetAsByteArray();
                    //保存和归来的Excel文件作为一个ByteArray
                    HttpResponse response = HttpContext.Current.Response;
                    Response.Clear();
    
                    //输出头文件  
                    Response.AddHeader("content-disposition", "attachment;  filename=会员信息.xlsx");
                    Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                    Response.BinaryWrite(data);
                    Response.Flush();
                    Response.End();
                    //package.Save();//这个方法是直接下载到本地
                }
            }

    bin文件下载

  • 相关阅读:
    列表推导式,生成器表达式
    迭代器,生成器初始
    装饰器的进阶
    函数名用途,初始装饰器
    函数参数,和空间
    py文件的操作
    字符串相关操作
    python基础二
    Django简介
    Django初识
  • 原文地址:https://www.cnblogs.com/LoveQin/p/9957254.html
Copyright © 2011-2022 走看看