Export Excel with ClosedXML in Webform

 Export Excel with ClosedXML in Webform

var data = FetchData(); // your data

                var wb = new XLWorkbook();

                var ws = wb.Worksheets.Add();


                ws.Cell(1, 1).Value = "STT";

                ws.Cell(1, 1).Style.Font.Bold = true;


                ws.Cell(1, 2).Value = "Nội dung";

                ws.Cell(1, 2).Style.Font.Bold = true;


                ws.Cell(1, 3).Value = "Số lượng";

                ws.Cell(1, 3).Style.Font.Bold = true;


                int row = 2;

                for (int i = 0; i < data.Rows.Count; i++)

                {

                    ws.Cell(row, 1).Value = i + 1;

                    ws.Cell(row, 2).Value = data.Rows[i][1].ToString();

                    ws.Cell(row, 3).Value = data.Rows[i][2].ToString();

                    row++;

                }


                ws.Range(1, 1, row - 1, 3).Style.Border.BottomBorder = XLBorderStyleValues.Thin;

                ws.Range(1, 1, row - 1, 3).Style.Border.TopBorder = XLBorderStyleValues.Thin;

                ws.Range(1, 1, row - 1, 3).Style.Border.RightBorder = XLBorderStyleValues.Thin;

                ws.Range(1, 1, row - 1, 3).Style.Border.LeftBorder = XLBorderStyleValues.Thin;


                ws.Column(1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;

                ws.Column(1).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;


                ws.Column(2).AdjustToContents();


                Response.Clear();

                Response.Buffer = true;

                Response.Charset = "";

                Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";

                Response.AddHeader("content-disposition", "attachment;filename=bao-cao.xlsx");

                using (MemoryStream MyMemoryStream = new MemoryStream())

                {

                    wb.SaveAs(MyMemoryStream);

                    MyMemoryStream.WriteTo(Response.OutputStream);

                    Response.Flush();

                    Response.End();

                }

Post a Comment