1. 程式人生 > >C# 使用EPPlus 秒導出10萬條數據

C# 使用EPPlus 秒導出10萬條數據

save send eve record eml ber 代碼 posit ember

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();//這個方法是直接下載到本地 } }

C# 使用EPPlus 秒導出10萬條數據