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

  • 相关阅读:
    给tkinter文本框添加右键菜单
    Python读取图片尺寸、图片格式
    sublime text 3 build 3143 安装详解
    一种使用pyinstaller时图标问题解决方案
    讠己 —— 冫欠 自 云力 扌仓 石马
    python桌面端开发手记(序列化、压缩包、加密、图形界面GUI)
    Spark安装过程纪录
    Zookeeper与HBse安装过程纪录
    搭建分布式Hadoop的填坑纪录
    使用几种常见分类器预测海难幸存者(二分类)
  • 原文地址:https://www.cnblogs.com/LoveQin/p/9957254.html
Copyright © 2020-2023  润新知