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文件下载

  • 相关阅读:
    [LeetCode] Contains Duplicate 包含重复值
    [LeetCode] 281. The Skyline Problem 天际线问题
    Qt resizeEvent 控件居中设置
    [LeetCode] 214. Shortest Palindrome 最短回文串
    Qt Creator Shortcuts 快捷键大全
    Qt SizePolicy 属性
    [LeetCode] 30. Substring with Concatenation of All Words 串联所有单词的子串
    [LeetCode] 213. House Robber II 打家劫舍之二
    [LeetCode] 212. Word Search II 词语搜索之二
    [LeetCode] 18. 4Sum 四数之和
  • 原文地址:https://www.cnblogs.com/LoveQin/p/9957254.html
Copyright © 2011-2022 走看看