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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM