public static Response HHsXlsx(long PPId) { using (ExcelPackage pck = new ExcelPackage()) { ExcelWorksheet ws = pck.Workbook.Worksheets.Add("HHsRpr"); // Header (first row) ws.Cells[1, 1].Value = "Hesap"; ws.Cells["A1:A2"].Merge = true; ws.Cells[1, 6].Value = "Not"; ws.Cells["F1:F2"].Merge = true; ws.Cells[1, 2].Value = "Gercek"; ws.Cells["B1:C1"].Merge = true; ws.Cells[1, 4].Value = "Hedef"; ws.Cells["D1:E1"].Merge = true; ws.Cells[2, 2].Value = "Gider"; ws.Cells[2, 3].Value = "Gelir"; ws.Cells[2, 4].Value = "Gider"; ws.Cells[2, 5].Value = "Gelir"; ws.Row(1).Style.Font.Bold = true; ws.Row(2).Style.Font.Bold = true; ws.Column(2).Style.Numberformat.Format = "#,###"; ws.Column(3).Style.Numberformat.Format = "#,###"; ws.Column(4).Style.Numberformat.Format = "#,###"; ws.Column(5).Style.Numberformat.Format = "#,###"; if (Db.FromId((ulong)PPId) is PP pp) { //var hhs = Db.SQL<HH>("select r from HH r where r.PP = ?", pp); int cr = 3; foreach (var hh in HH.View(pp)) { ws.Cells[cr, 1].Value = hh.AdFull; //ws.Cells[cr, 1].Value = hh.Ad; //ws.Cells[cr, 1].Style.Indent = hh.Lvl - 1; ws.Cells[cr, 2].Value = hh.GrcGdr; ws.Cells[cr, 3].Value = hh.GrcGlr; ws.Cells[cr, 4].Value = hh.ThmGdr; ws.Cells[cr, 5].Value = hh.ThmGlr; ws.Cells[cr, 6].Value = hh.Info; cr++; } using (var range = ws.Cells["A2:F2"]) { range.AutoFilter = true; } //ws.Row(1).Height = 20; ws.Row(1).Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center; ws.Row(1).Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; ws.Row(2).Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center; ws.Row(2).Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; ws.Column(1).AutoFit(); ws.Column(2).AutoFit(); ws.Column(3).AutoFit(); ws.Column(4).AutoFit(); ws.Column(5).AutoFit(); ws.Column(6).AutoFit(); } Response r = new Response(); //r.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; r.ContentType = "application/octet-stream"; r.Headers["Content-Disposition"] = "attachment; filename=\"HHsRpr.xlsx\""; var oms = new MemoryStream(); pck.SaveAs(oms); oms.Seek(0, SeekOrigin.Begin); r.StreamedBody = oms; return(r); } }