using System; using System.Collections.Generic; using System.Globalization; using System.IO; using System.Linq; using ClosedXML.Excel; using FastReport; using FastReport.Export.Csv; using FastReport.Export.Mht; using FastReport.Export.OoXML; using FastReport.Export.Pdf; using Microsoft.AspNetCore.Mvc; using rmutr_report.Models; using rmutr_report.Models.Hr; using rmutr_report.Models.Personnel; using Swashbuckle.AspNetCore.Annotations; namespace rmutr_report.Controllers { [SwaggerTag("สำหรับรายงาน_budget")] public class Budget : Controller { readonly Setting _setting; public Budget(Setting setting) { this._setting = setting; } [HttpPost, Route("reports/budget_report/{type}")] [ApiExplorerSettings(GroupName = "reports")] public IActionResult GetSum1Report([FromRoute] string type, [FromBody] List budget_reports) { foreach (var x in budget_reports) { int sum1 = budget_reports.Sum(g => int.Parse(g.salaya)); x.sum1 = sum1; int sum2 = budget_reports.Sum(g => int.Parse(g.bophitphimuk)); x.sum2 = sum2; int sum3 = budget_reports.Sum(g => int.Parse(g.pohchang)); x.sum3 = sum3; int sum4 = budget_reports.Sum(g => int.Parse(g.klai_kangwon)); x.sum4 = sum4; int sum5 = budget_reports.Sum(g => int.Parse(g.total)); x.sum5 = sum5; } Report report = new Report(); report.Load(_setting.report_path + "budget_report.frx"); report.RegisterData(budget_reports, "budget_report"); report.Prepare(); MemoryStream stream = new MemoryStream(); switch (type) { case "pdf": PDFExport pdf = new PDFExport(); report.Export(pdf, stream); stream.Seek(0, SeekOrigin.Begin); return File(stream, "application/pdf"); case "xls": Excel2007Export excel = new Excel2007Export(); report.Export(excel, stream); stream.Seek(0, SeekOrigin.Begin); return File(stream, "application/vnd.ms-excel"); break; case "mht": MHTExport mht = new MHTExport(); report.Export(mht, stream); stream.Seek(0, SeekOrigin.Begin); return File(stream, "multipart/related"); break; case "csv": CSVExport csv = new CSVExport(); report.Export(csv, stream); stream.Seek(0, SeekOrigin.Begin); return File(stream, "text/csv"); break; } return Ok(); } [HttpPost, Route("reports/budget_summary_report/{type}")] [ApiExplorerSettings(GroupName = "reports")] public IActionResult GetSumReport([FromRoute] string type, [FromBody] budget_summary_report budget_summary_reports) { var _budget_summary_report = new List() { budget_summary_reports }; var s1 = budget_summary_reports.summary.Sum(d => d.budget_1); var s2 = budget_summary_reports.summary.Sum(d => d.budget_2); var s3 = budget_summary_reports.summary.Sum(d => d.budget_3); var s4 = budget_summary_reports.summary.Sum(d => d.budget_4); var s5 = budget_summary_reports.summary.Sum(d => d.budget_5); if (s1 != null || s2 != null || s3 != null || s4 != null || s5 != null) { var s6 = s1 + s2 + s3 + s4 + s5; budget_summary_reports.total_budget = s6; } if (s1 != null || s2 != null || s3 != null || s4 != null || s5 != null) { budget_summary_reports.budget_1 = s1; budget_summary_reports.budget_2 = s2; budget_summary_reports.budget_3 = s3; budget_summary_reports.budget_4 = s4; budget_summary_reports.budget_5 = s5; //budget_summary_reports.total_budget = s6; } if (s1 == null) { budget_summary_reports.budget_1 = null; } if (s2 == null) { budget_summary_reports.budget_2 = null; } if (s3 == null) { budget_summary_reports.budget_3 = null; } if (s4 == null) { budget_summary_reports.budget_4 = null; } if (s5 == null) { budget_summary_reports.budget_5 = null; } foreach (var budget in budget_summary_reports.summary) { if (budget.budget_1 != null || budget.budget_2 != null || budget.budget_3 != null || budget.budget_4 != null || budget.budget_5 != null) { budget.total_budget = budget.budget_1 + budget.budget_2 + budget.budget_3 + budget.budget_4 + budget.budget_5; } else { return null; } } if (budget_summary_reports.durable_articles_1 != null) { foreach (var bDetail in budget_summary_reports.durable_articles_1) { if (bDetail.color == 1) { budget_summary_reports.list = bDetail.list; budget_summary_reports.total_amount = bDetail.total_amount; } // if (bDetail.color == 2) // { // budget_summary_reports.list = bDetail.list; // budget_summary_reports.total_amount = bDetail.total_amount; // } // foreach (var bDetail2 in bDetail.durable_articles_2) // { // if (bDetail2.color == 3) // { // budget_summary_reports.list = bDetail2.list; // budget_summary_reports.total_amount = bDetail2.total_amount; // } // foreach (var bDetail3 in bDetail2.durable_articles_3) // { // if (bDetail3.color == 4) // { // budget_summary_reports.list = bDetail3.list; // budget_summary_reports.total_amount = bDetail3.total_amount; // } // foreach (var bDetail4 in bDetail3.durable_articles_4) // { // if (bDetail4.color == 5) // { // budget_summary_reports.list = bDetail4.list; // budget_summary_reports.total_amount = bDetail4.total_amount; // } // } // } // } } } if (budget_summary_reports.building_1 != null) { foreach (var bDetail in budget_summary_reports.building_1) { if (bDetail.color == 1) { budget_summary_reports.list1 = bDetail.list; budget_summary_reports.total_amount1 = bDetail.total_amount; } // if (bDetail.color == 2) // { // budget_summary_reports.list1 = bDetail.list; // budget_summary_reports.total_amount1 = bDetail.total_amount; // } } } Report report = new Report(); report.Load(_setting.report_path + "budget_summary_report.frx"); report.RegisterData(_budget_summary_report, "budget_summary_report"); report.Prepare(); MemoryStream stream = new MemoryStream(); switch (type) { case "pdf": PDFExport pdf = new PDFExport(); report.Export(pdf, stream); stream.Seek(0, SeekOrigin.Begin); return File(stream, "application/pdf"); case "xls": case "xlsx": Excel2007Export excel = new Excel2007Export(); report.Export(excel, stream); stream.Seek(0, SeekOrigin.Begin); return File(stream, "application/vnd.ms-excel"); break; case "mht": MHTExport mht = new MHTExport(); report.Export(mht, stream); stream.Seek(0, SeekOrigin.Begin); return File(stream, "multipart/related"); break; case "csv": CSVExport csv = new CSVExport(); report.Export(csv, stream); stream.Seek(0, SeekOrigin.Begin); return File(stream, "text/csv"); break; } return Ok(); } [HttpPost, Route("reports/summary_project_budget_proposals/{type}")] [ApiExplorerSettings(GroupName = "reports")] public IActionResult GetSumPReport([FromRoute] string type, [FromBody] summary_project_budget_proposals eleven) { int a = 1; foreach (var d1 in eleven.data_1) { foreach (var d2 in d1.data_2) { foreach (var d3 in d2.data_3) { foreach (var d4 in d3.data_4) { d4.row_no = a; a++; } } } } var ele = new List() { eleven }; Report report = new Report(); report.Load(_setting.report_path + "summary_project_budget_proposals.frx"); report.RegisterData(ele, "summary_project_budget_proposals"); report.Prepare(); MemoryStream stream = new MemoryStream(); switch (type) { case "pdf": PDFExport pdf = new PDFExport(); report.Export(pdf, stream); stream.Seek(0, SeekOrigin.Begin); return File(stream, "application/pdf"); case "xls": case "xlsx": Excel2007Export excel = new Excel2007Export(); report.Export(excel, stream); stream.Seek(0, SeekOrigin.Begin); //return File(stream, "application/vnd.ms-excel"); string date = DateTime.Now.ToString("yyyyMMddHHmmss"); return File( stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", date + ".xlsx"); break; } return Ok(); } [HttpPost, Route("reports/basic_plan/{type}")] [ApiExplorerSettings(GroupName = "reports")] public IActionResult GetBasicPlanReport([FromRoute] string type, [FromBody] national_budget personnel) { var workbook = new XLWorkbook(); var ws = workbook.Worksheets.Add("พื้นฐาน"); ws.Cell("A1").Value = "งบประมาณแผ่นดิน ปีงบประมาณ พ.ศ. " + personnel.academic_year_name_th; ws.Cell("A1").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Cell("A1").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("A1").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("A1").Style.Font.FontSize = 16; ws.Cell("A1").Style.Font.Bold = true; ws.Cell("A2").Value = personnel.agency_name_th; ws.Cell("A2").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Cell("A2").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("A2").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("A2").Style.Font.FontSize = 16; ws.Cell("A2").Style.Font.Bold = true; ws.Cell("F2").Value = "แผนพื้นฐาน"; ws.Cell("F2").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("F2").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("F2").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("F2").Style.Font.FontSize = 16; ws.Cell("F2").Style.Font.Bold = true; //ws.Cell("K12").Style.NumberFormat.Format = "#,##0.0000"; ws.Column(1).Width = 30; ws.Column(2).Width = 10; ws.Column(3).Width = 10; ws.Column(4).Width = 10; ws.Column(5).Width = 10; ws.Column(6).Width = 10; ws.Column(7).Width = 10; int row = 6; //int no = 1; if (personnel != null) { ws.Range("A3:A5").Merge().Value = "งบรายจ่าย"; ws.Range("A3:A5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range("A3:A5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range("A3:A5").Style.Font.FontName = "TH SarabunPSK"; ws.Range("A3:A5").Style.Font.SetBold().Font.FontSize = 14; ws.Range("A3:A5").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Range("A3:A5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range("B3:F3").Merge().Value = "งบประมาณ " + personnel.academic_year_name_th + " (เบื้องต้น)"; ws.Range("B3:F3").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range("B3:F3").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range("B3:F3").Style.Font.FontName = "TH SarabunPSK"; ws.Range("B3:F3").Style.Font.SetBold().Font.FontSize = 14; ws.Range("B3:F3").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Range("B3:F3").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("B4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " วิทย์"; ws.Cell("B4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("B4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("B4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("B4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("B4").Style.Alignment.WrapText = true; ws.Cell("B4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("B4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("C4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " สังคม"; ws.Cell("C4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("C4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("C4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("C4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("C4").Style.Alignment.WrapText = true; ws.Cell("C4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("C4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("D4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " บริการวิชาการ"; ws.Cell("D4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("D4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("D4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("D4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("D4").Style.Alignment.WrapText = true; ws.Cell("D4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("D4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("E4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " ทำนุบำรุง"; ws.Cell("E4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("E4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("E4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("E4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("E4").Style.Alignment.WrapText = true; ws.Cell("E4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("F4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("F4").Value = "งบประมาณปี " + personnel.academic_year_name_th.Substring(2, 2); ws.Cell("F4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("F4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("F4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("F4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("F4").Style.Alignment.WrapText = true; ws.Cell("F4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Range("B4:F4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range(ws.Cell(4, 2), ws.Cell(4, 6)).Style.Alignment.WrapText = true; ws.Cell(5, 2).Value = personnel.science; ws.Cell(5, 3).Value = personnel.society; ws.Cell(5, 4).Value = personnel.academic_service; ws.Cell(5, 5).Value = personnel.nourish; ws.Cell(5, 6).Value = personnel.budget; ws.Cell(5, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range(ws.Cell(5, 2), ws.Cell(5, 6)).Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Range(ws.Cell(5, 2), ws.Cell(5, 6)).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Range(ws.Cell(5, 2), ws.Cell(5, 6)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(5, 2), ws.Cell(5, 6)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(5, 2), ws.Cell(5, 6)).Style.Font.FontSize = 14; ws.Range(ws.Cell(5, 2), ws.Cell(5, 6)).Style.Font.FontColor = XLColor.Blue; ws.Range(ws.Cell(5, 2), ws.Cell(5, 6)).Style.NumberFormat.SetFormat("#,#0"); foreach (var detail in personnel.national_budget_details) { if (detail.topic_type == 1) { ws.Cell(row, 1).Value = detail.topic; ws.Cell(row, 2).Value = detail.science; ws.Cell(row, 3).Value = detail.society; ws.Cell(row, 4).Value = detail.academic_service; ws.Cell(row, 5).Value = detail.nourish; ws.Cell(row, 6).Value = detail.budget; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Font.SetBold().Font.FontSize = 14; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Alignment.WrapText = true; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(row, 2), ws.Cell(row, 6)).Style.NumberFormat.SetFormat("#,#0"); ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Cell(row, 2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 3).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 5).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Fill.BackgroundColor = XLColor.FromArgb(204, 153, 255); ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; row++; } if (detail.topic_type == 2) { ws.Cell(row, 1).Value = detail.topic; ws.Cell(row, 2).Value = detail.science; ws.Cell(row, 3).Value = detail.society; ws.Cell(row, 4).Value = detail.academic_service; ws.Cell(row, 5).Value = detail.nourish; ws.Cell(row, 6).Value = detail.budget; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Font.SetBold().Font.FontSize = 14; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Alignment.WrapText = true; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(row, 2), ws.Cell(row, 6)).Style.NumberFormat.SetFormat("#,#0"); ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Cell(row, 2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 3).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 5).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Fill.BackgroundColor = XLColor.FromArgb(255, 204, 153); row++; } if (detail.topic_type == 3) { ws.Cell(row, 1).Value = detail.topic; ws.Cell(row, 2).Value = detail.science; ws.Cell(row, 3).Value = detail.society; ws.Cell(row, 4).Value = detail.academic_service; ws.Cell(row, 5).Value = detail.nourish; ws.Cell(row, 6).Value = detail.budget; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Font.SetBold().Font.FontSize = 14; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Alignment.WrapText = true; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(row, 2), ws.Cell(row, 6)).Style.NumberFormat.SetFormat("#,#0"); ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Cell(row, 2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 3).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 5).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; row++; } if (detail.topic_type == 4) { ws.Cell(row, 1).Value = detail.topic; ws.Cell(row, 2).Value = detail.science; ws.Cell(row, 3).Value = detail.society; ws.Cell(row, 4).Value = detail.academic_service; ws.Cell(row, 5).Value = detail.nourish; ws.Cell(row, 6).Value = detail.budget; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Font.SetBold().Font.FontSize = 14; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Alignment.WrapText = true; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(row, 2), ws.Cell(row, 6)).Style.NumberFormat.SetFormat("#,#0"); ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Cell(row, 2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 3).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 5).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Fill.BackgroundColor = XLColor.FromArgb(255, 204, 204); ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; row++; } if (detail.topic_type == 5) { ws.Cell(row, 1).Value = detail.topic; ws.Cell(row, 2).Value = detail.science; ws.Cell(row, 3).Value = detail.society; ws.Cell(row, 4).Value = detail.academic_service; ws.Cell(row, 5).Value = detail.nourish; ws.Cell(row, 6).Value = detail.budget; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Font.SetBold().Font.FontSize = 14; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Alignment.WrapText = true; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(row, 2), ws.Cell(row, 6)).Style.NumberFormat.SetFormat("#,#0"); ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Cell(row, 2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 3).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 5).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Range(ws.Cell(row, 1), ws.Cell(row, 6)).Style.Fill.BackgroundColor = XLColor.FromArgb(255, 255, 204); ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; row++; } } } var _national_budget = new List() { personnel }; Report report = new Report(); //report.Load(); report.RegisterData(_national_budget, "national_budget"); report.Prepare(); MemoryStream stream = new MemoryStream(); switch (type) { case "pdf": { workbook.SaveAs(stream); var content = stream.ToArray(); stream.Position = 0; // Set the content type and return the PDF file return File(content, "application/pdf", "converted.pdf"); } case "xlsx": { workbook.SaveAs(stream); var content = stream.ToArray(); string date = DateTime.Now.ToString("yyyyMMddHHmmss"); return File( content, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "basic_plan_" + date + ".xlsx"); } default: return Ok(); } } [HttpPost, Route("reports/integration_strategic_plan/{type}")] [ApiExplorerSettings(GroupName = "reports")] public IActionResult GetInStrPlanReport([FromRoute] string type, [FromBody] integration_strategic_plan personnel) { var workbook = new XLWorkbook(); var ws = workbook.Worksheets.Add("แผนบูรณาการ+แผนยุทธศาสตร์"); ws.Cell("A1").Value = "งบประมาณแผ่นดิน ปีงบประมาณ พ.ศ. " + personnel.academic_year_name_th; ws.Cell("A1").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Cell("A1").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("A1").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("A1").Style.Font.FontSize = 16; ws.Cell("A1").Style.Font.Bold = true; ws.Cell("A2").Value = personnel.agency_name_th; ws.Cell("A2").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Cell("A2").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("A2").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("A2").Style.Font.FontSize = 16; ws.Cell("A2").Style.Font.Bold = true; ws.Cell("K2").Value = "แผนบูรณาการ+แผนยุทธศาสตร์"; ws.Cell("K2").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell("K2").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("K2").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("K2").Style.Font.FontSize = 16; ws.Cell("K2").Style.Font.Bold = true; //ws.Cell("K12").Style.NumberFormat.Format = "#,##0.0000"; ws.Column(1).Width = 30; ws.Column(2).Width = 15; ws.Column(3).Width = 15; ws.Column(4).Width = 15; ws.Column(5).Width = 15; ws.Column(6).Width = 15; ws.Column(7).Width = 15; ws.Column(8).Width = 15; ws.Column(9).Width = 15; ws.Column(10).Width = 15; ws.Column(11).Width = 15; int row = 6; //int no = 1; if (personnel != null) { ws.Range("A3:A5").Merge().Value = "งบรายจ่าย"; ws.Range("A3:A5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range("A3:A5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range("A3:A5").Style.Font.FontName = "TH SarabunPSK"; ws.Range("A3:A5").Style.Font.SetBold().Font.FontSize = 14; ws.Range("A3:A5").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Range("A3:A5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range("B3:G3").Merge().Value = "งบประมาณ " + personnel.academic_year_name_th + " (เบื้องต้น)"; ws.Range("B3:G3").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range("B3:G3").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range("B3:G3").Style.Font.FontName = "TH SarabunPSK"; ws.Range("B3:G3").Style.Font.SetBold().Font.FontSize = 14; ws.Range("B3:G3").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Range("B3:G3").Style.Border.TopBorder = XLBorderStyleValues.Thin; ws.Cell("B3").Style.Border.RightBorder = XLBorderStyleValues.Thin; ws.Range("H3:K3").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("B4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " แผนงานบูรณาการ พัฒนาและส่งเสริมเศรษฐกิจฐานราก"; ws.Cell("B4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("B4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("B4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("B4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("B4").Style.Alignment.WrapText = true; ws.Cell("B4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("B4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("C4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " แผนงานบูรณาการ สร้างรายได้ จากการท่องเที่ยว"; ws.Cell("C4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("C4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("C4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("C4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("C4").Style.Alignment.WrapText = true; ws.Cell("C4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("C4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("D4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " แผนบูรณาการพัฒนาด้านคมนาคมและระบบโลจิสติกส์"; ws.Cell("D4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("D4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("D4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("D4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("D4").Style.Alignment.WrapText = true; ws.Cell("D4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("D4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("E4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " แผนบูรณาการ พัฒนาภาค (ภาคกลาง)"; ws.Cell("E4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("E4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("E4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("E4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("E4").Style.Alignment.WrapText = true; ws.Cell("E4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("E4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("F4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " แผนงานบูรณาการพัฒนาอุตสาหกรรมและบริการแห่งอนาคต"; ws.Cell("F4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("F4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("F4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("F4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("F4").Style.Alignment.WrapText = true; ws.Cell("F4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("F4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("G4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " แผนงานยุทธศาสตร์พัฒนาเศรษฐกิจและสังคมดิจิทัล"; ws.Cell("G4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("G4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("G4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("G4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("G4").Style.Alignment.WrapText = true; ws.Cell("G4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("G4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("H4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " แผนงานยุทธศาสตร์ (โครงการสำคัญ)"; ws.Cell("H4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("H4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("H4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("H4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("H4").Style.Alignment.WrapText = true; ws.Cell("H4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("H4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("I4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " แผนงานยุทธศาสตร์ฯโครงการพัฒนาและผลิตกำลังคนของประเทศฯ Thailand 4.0"; ws.Cell("I4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("I4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("I4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("I4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("I4").Style.Alignment.WrapText = true; ws.Cell("I4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("I4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("J4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " แผนงานยุทธศาสตร์การพัฒนาผู้ประกอบการ และวิสาหกิจ ขนาดกลางและขนาดย่อมสู่สากล (SME)"; ws.Cell("J4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("J4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("J4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("J4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("J4").Style.Alignment.WrapText = true; ws.Cell("J4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("J4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("K4").Value = "งบประมาณ ปี " + personnel.academic_year_name_th.Substring(2, 2); ws.Cell("K4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("K4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("K4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("K4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("K4").Style.Alignment.WrapText = true; ws.Cell("K4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("K4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range("H3:K3").Style.Border.TopBorder = XLBorderStyleValues.Thin; ws.Cell("K3").Style.Border.RightBorder = XLBorderStyleValues.Thin; ws.Range(ws.Cell(4, 2), ws.Cell(4, 11)).Style.Alignment.WrapText = true; ws.Cell(5, 2).Value = personnel.plan_1; ws.Cell(5, 3).Value = personnel.plan_2; ws.Cell(5, 4).Value = personnel.plan_3; ws.Cell(5, 5).Value = personnel.plan_4; ws.Cell(5, 6).Value = personnel.plan_5; ws.Cell(5, 7).Value = personnel.plan_6; ws.Cell(5, 8).Value = personnel.plan_7; ws.Cell(5, 9).Value = personnel.plan_8; ws.Cell(5, 10).Value = personnel.plan_9; ws.Cell(5, 11).Value = personnel.budget; ws.Cell(5, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range(ws.Cell(5, 2), ws.Cell(5, 11)).Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Range(ws.Cell(5, 2), ws.Cell(5, 11)).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Range(ws.Cell(5, 2), ws.Cell(5, 11)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(5, 2), ws.Cell(5, 11)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(5, 2), ws.Cell(5, 11)).Style.Font.FontSize = 14; ws.Range(ws.Cell(5, 2), ws.Cell(5, 11)).Style.Font.FontColor = XLColor.Blue; ws.Range(ws.Cell(5, 2), ws.Cell(5, 11)).Style.NumberFormat.SetFormat("#,#0"); foreach (var detail in personnel.integration_strategic_plan_details) { if (detail.topic_type == 1) { ws.Cell(row, 1).Value = detail.topic; ws.Cell(row, 2).Value = detail.plan_1; ws.Cell(row, 3).Value = detail.plan_2; ws.Cell(row, 4).Value = detail.plan_3; ws.Cell(row, 5).Value = detail.plan_4; ws.Cell(row, 6).Value = detail.plan_5; ws.Cell(row, 7).Value = detail.plan_6; ws.Cell(row, 8).Value = detail.plan_7; ws.Cell(row, 9).Value = detail.plan_8; ws.Cell(row, 10).Value = detail.plan_9; ws.Cell(row, 11).Value = detail.budget; ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Font.SetBold().Font.FontSize = 14; ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Alignment.WrapText = true; ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(row, 2), ws.Cell(row, 11)).Style.NumberFormat.SetFormat("#,#0"); ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Cell(row, 2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 3).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 5).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 7).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 8).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 9).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 10).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 11).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Fill.BackgroundColor = XLColor.FromArgb(204, 153, 255); ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; row++; } if (detail.topic_type == 2) //ชื่อแผน { ws.Cell(row, 1).Value = detail.topic; ws.Cell(row, 2).Value = detail.plan_1; ws.Cell(row, 3).Value = detail.plan_2; ws.Cell(row, 4).Value = detail.plan_3; ws.Cell(row, 5).Value = detail.plan_4; ws.Cell(row, 6).Value = detail.plan_5; ws.Cell(row, 7).Value = detail.plan_6; ws.Cell(row, 8).Value = detail.plan_7; ws.Cell(row, 9).Value = detail.plan_8; ws.Cell(row, 10).Value = detail.plan_9; ws.Cell(row, 11).Value = detail.budget; ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Font.SetBold().Font.FontSize = 14; ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Alignment.WrapText = true; ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(row, 2), ws.Cell(row, 11)).Style.NumberFormat.SetFormat("#,#0"); ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Cell(row, 2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 3).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 5).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 7).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 8).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 9).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 10).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 11).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; //ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Fill.BackgroundColor = XLColor.FromArgb(204,153,255); ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; row++; } if (detail.topic_type == 3) //ชื่อโครงการ { ws.Cell(row, 1).Value = detail.topic; ws.Cell(row, 2).Value = detail.plan_1; ws.Cell(row, 3).Value = detail.plan_2; ws.Cell(row, 4).Value = detail.plan_3; ws.Cell(row, 5).Value = detail.plan_4; ws.Cell(row, 6).Value = detail.plan_5; ws.Cell(row, 7).Value = detail.plan_6; ws.Cell(row, 8).Value = detail.plan_7; ws.Cell(row, 9).Value = detail.plan_8; ws.Cell(row, 10).Value = detail.plan_9; ws.Cell(row, 11).Value = detail.budget; ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Font.SetBold().Font.FontSize = 14; ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Alignment.WrapText = true; ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(row, 2), ws.Cell(row, 11)).Style.NumberFormat.SetFormat("#,#0"); ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Cell(row, 2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 3).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 5).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 7).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 8).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 9).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 10).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 11).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; //ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Fill.BackgroundColor = XLColor.FromArgb(204,153,255); ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; row++; } if (detail.topic_type == 4) //ชื่อกิจกรรม { ws.Cell(row, 1).Value = detail.topic; ws.Cell(row, 2).Value = detail.plan_1; ws.Cell(row, 3).Value = detail.plan_2; ws.Cell(row, 4).Value = detail.plan_3; ws.Cell(row, 5).Value = detail.plan_4; ws.Cell(row, 6).Value = detail.plan_5; ws.Cell(row, 7).Value = detail.plan_6; ws.Cell(row, 8).Value = detail.plan_7; ws.Cell(row, 9).Value = detail.plan_8; ws.Cell(row, 10).Value = detail.plan_9; ws.Cell(row, 11).Value = detail.budget; ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Font.FontSize = 14; ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Alignment.WrapText = true; ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(row, 2), ws.Cell(row, 11)).Style.NumberFormat.SetFormat("#,#0"); ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Cell(row, 2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 3).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 5).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 7).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 8).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 9).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 10).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 11).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; //ws.Range(ws.Cell(row, 1), ws.Cell(row, 11)).Style.Fill.BackgroundColor = XLColor.FromArgb(204,153,255); ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; row++; } } } using (var stream1 = new MemoryStream()) { workbook.SaveAs(stream1); var content = stream1.ToArray(); string date = DateTime.Now.ToString("yyyyMMddHHmmss"); return File( content, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "integration_strategic_plan_" + date + ".xlsx"); } } [HttpPost, Route("reports/basic_plan_all/{type}")] [ApiExplorerSettings(GroupName = "reports")] public IActionResult GetBasicPlanAllReport([FromRoute] string type, [FromBody] integration_strategic_plan personnel) { var workbook = new XLWorkbook(); var ws = workbook.Worksheets.Add("รวมทุกแผน"); ws.Cell("A1").Value = "งบประมาณแผ่นดิน ปีงบประมาณ พ.ศ. " + personnel.academic_year_name_th + " (เบื้องต้น)"; ws.Cell("A1").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Cell("A1").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("A1").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("A1").Style.Font.FontSize = 16; ws.Cell("A1").Style.Font.Bold = true; ws.Cell("A2").Value = personnel.agency_name_th; ws.Cell("A2").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Cell("A2").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("A2").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("A2").Style.Font.FontSize = 16; ws.Cell("A2").Style.Font.Bold = true; ws.Cell("O2").Value = "รวมทุกแผน"; ws.Cell("O2").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("O2").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("O2").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("O2").Style.Font.FontSize = 16; ws.Cell("O2").Style.Font.Bold = true; //ws.Cell("K12").Style.NumberFormat.Format = "#,##0.0000"; ws.Column(1).Width = 30; ws.Column(2).Width = 10; ws.Column(3).Width = 10; ws.Column(4).Width = 10; ws.Column(5).Width = 10; ws.Column(6).Width = 10; ws.Column(7).Width = 10; ws.Column(8).Width = 10; ws.Column(9).Width = 10; ws.Column(10).Width = 10; ws.Column(11).Width = 10; ws.Column(12).Width = 10; ws.Column(13).Width = 10; ws.Column(14).Width = 10; ws.Column(15).Width = 10; ws.Column(16).Width = 10; int row = 6; //int no = 1; if (personnel != null) { ws.Range("A3:A5").Merge().Value = "งบรายจ่าย"; ws.Range("A3:A5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range("A3:A5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range("A3:A5").Style.Font.FontName = "TH SarabunPSK"; ws.Range("A3:A5").Style.Font.SetBold().Font.FontSize = 14; ws.Range("A3:A5").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Range("A3:A5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range("B3:O3").Merge().Value = "งบประมาณ " + personnel.academic_year_name_th + " (เบื้องต้น)"; ws.Range("B3:O3").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range("B3:O3").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range("B3:O3").Style.Font.FontName = "TH SarabunPSK"; ws.Range("B3:O3").Style.Font.SetBold().Font.FontSize = 14; ws.Range("B3:O3").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Range("B3:O3").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("B4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " วิทย์"; ws.Cell("B4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("B4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("B4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("B4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("B4").Style.Alignment.WrapText = true; ws.Cell("B4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("B4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("C4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " สังคม"; ws.Cell("C4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("C4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("C4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("C4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("C4").Style.Alignment.WrapText = true; ws.Cell("C4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("C4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("D4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " บริการวิชาการ"; ws.Cell("D4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("D4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("D4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("D4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("D4").Style.Alignment.WrapText = true; ws.Cell("D4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("D4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("E4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " ทำนุบำรุง"; ws.Cell("E4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("E4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("E4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("E4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("E4").Style.Alignment.WrapText = true; ws.Cell("E4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("E4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("F4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " แผนงานบูรณาการ พัฒนาและส่งเสริมเศรษฐกิจฐานราก"; ws.Cell("F4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("F4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("F4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("F4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("F4").Style.Alignment.WrapText = true; ws.Cell("F4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("F4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("G4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " แผนงานบูรณาการ สร้างรายได้ จากการท่องเที่ยว"; ws.Cell("G4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("G4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("G4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("G4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("G4").Style.Alignment.WrapText = true; ws.Cell("G4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("G4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("H4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " แผนบูรณาการพัฒนาด้านคมนาคมและระบบโลจิสติกส์"; ws.Cell("H4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("H4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("H4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("H4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("H4").Style.Alignment.WrapText = true; ws.Cell("H4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("H4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("I4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " แผนบูรณาการ พัฒนาภาค (ภาคกลาง)"; ws.Cell("I4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("I4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("I4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("I4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("I4").Style.Alignment.WrapText = true; ws.Cell("I4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("I4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("J4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " แผนงานบูรณาการพัฒนาอุตสาหกรรมและบริการแห่งอนาคต"; ws.Cell("J4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("J4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("J4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("J4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("J4").Style.Alignment.WrapText = true; ws.Cell("J4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("K4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " แผนงานยุทธศาสตร์พัฒนาเศรษฐกิจและสังคมดิจิทัล"; ws.Cell("K4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("K4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("K4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("K4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("K4").Style.Alignment.WrapText = true; ws.Cell("K4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("L4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " แผนงานยุทธศาสตร์ (โครงการสำคัญ)"; ws.Cell("L4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("L4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("L4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("L4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("L4").Style.Alignment.WrapText = true; ws.Cell("L4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("L4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("M4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " แผนงานยุทธศาสตร์ฯโครงการพัฒนาและผลิตกำลังคนของประเทศฯ Thailand 4.0"; ws.Cell("M4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("M4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("M4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("M4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("M4").Style.Alignment.WrapText = true; ws.Cell("M4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("M4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("N4").Value = " ปี " + personnel.academic_year_name_th.Substring(2, 2) + " แผนงานยุทธศาสตร์การพัฒนาผู้ประกอบการ และวิสาหกิจ ขนาดกลางและขนาดย่อมสู่สากล (SME)"; ws.Cell("N4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("N4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("N4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("N4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("N4").Style.Alignment.WrapText = true; ws.Cell("N4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("N4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell("O4").Value = "งบประมาณ ปี " + personnel.academic_year_name_th.Substring(2, 2); ws.Cell("O4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell("O4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Cell("O4").Style.Font.FontName = "TH SarabunPSK"; ws.Cell("O4").Style.Font.SetBold().Font.FontSize = 14; ws.Cell("O4").Style.Alignment.WrapText = true; ws.Cell("O4").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Cell("O4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range("B4:O4").Style.Border.RightBorder = XLBorderStyleValues.Thin; ws.Range("B4:O4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range(ws.Cell(4, 2), ws.Cell(4, 14)).Style.Alignment.WrapText = true; ws.Cell(5, 2).Value = personnel.science; ws.Cell(5, 3).Value = personnel.society; ws.Cell(5, 4).Value = personnel.academic_service; ws.Cell(5, 5).Value = personnel.nourish; ws.Cell(5, 6).Value = personnel.plan_1; ws.Cell(5, 7).Value = personnel.plan_2; ws.Cell(5, 8).Value = personnel.plan_3; ws.Cell(5, 9).Value = personnel.plan_4; ws.Cell(5, 10).Value = personnel.plan_5; ws.Cell(5, 11).Value = personnel.plan_6; ws.Cell(5, 12).Value = personnel.plan_7; ws.Cell(5, 13).Value = personnel.plan_8; ws.Cell(5, 14).Value = personnel.plan_9; ws.Cell(5, 15).Value = personnel.budget; ws.Cell(5, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 12).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 13).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 14).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(5, 15).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range(ws.Cell(5, 2), ws.Cell(5, 15)).Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204); ws.Range(ws.Cell(5, 2), ws.Cell(5, 15)).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Range(ws.Cell(5, 2), ws.Cell(5, 15)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(5, 2), ws.Cell(5, 15)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(5, 2), ws.Cell(5, 15)).Style.Font.FontSize = 14; ws.Range(ws.Cell(5, 2), ws.Cell(5, 15)).Style.Font.FontColor = XLColor.Blue; ws.Range(ws.Cell(5, 2), ws.Cell(5, 15)).Style.NumberFormat.SetFormat("#,#0"); foreach (var detail in personnel.integration_strategic_plan_details) { if (detail.topic_type == 1) { ws.Cell(row, 1).Value = detail.topic; ws.Cell(row, 2).Value = detail.science; ws.Cell(row, 3).Value = detail.society; ws.Cell(row, 4).Value = detail.academic_service; ws.Cell(row, row).Value = detail.nourish; ws.Cell(row, 6).Value = detail.plan_1; ws.Cell(row, 7).Value = detail.plan_2; ws.Cell(row, 8).Value = detail.plan_3; ws.Cell(row, 9).Value = detail.plan_4; ws.Cell(row, 10).Value = detail.plan_5; ws.Cell(row, 11).Value = detail.plan_6; ws.Cell(row, 12).Value = detail.plan_7; ws.Cell(row, 13).Value = detail.plan_8; ws.Cell(row, 14).Value = detail.plan_9; ws.Cell(row, 15).Value = detail.budget; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Font.SetBold().Font.FontSize = 14; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Alignment.WrapText = true; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(row, 2), ws.Cell(row, 15)).Style.NumberFormat.SetFormat("#,#0"); ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Cell(row, 2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 3).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 5).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 7).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 8).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 9).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 10).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 11).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 12).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 13).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 14).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 15).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Fill.BackgroundColor = XLColor.FromArgb(204, 153, 255); ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 12).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 13).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 14).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 15).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; row++; } if (detail.topic_type == 2) { ws.Cell(row, 1).Value = detail.topic; ws.Cell(row, 2).Value = detail.science; ws.Cell(row, 3).Value = detail.society; ws.Cell(row, 4).Value = detail.academic_service; ws.Cell(row, row).Value = detail.nourish; ws.Cell(row, 6).Value = detail.plan_1; ws.Cell(row, 7).Value = detail.plan_2; ws.Cell(row, 8).Value = detail.plan_3; ws.Cell(row, 9).Value = detail.plan_4; ws.Cell(row, 10).Value = detail.plan_5; ws.Cell(row, 11).Value = detail.plan_6; ws.Cell(row, 12).Value = detail.plan_7; ws.Cell(row, 13).Value = detail.plan_8; ws.Cell(row, 14).Value = detail.plan_9; ws.Cell(row, 15).Value = detail.budget; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Font.SetBold().Font.FontSize = 14; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Alignment.WrapText = true; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(row, 2), ws.Cell(row, 15)).Style.NumberFormat.SetFormat("#,#0"); ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell(row, 2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 3).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 5).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 7).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 8).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 9).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 10).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 11).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 12).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 13).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 14).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 15).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Fill.BackgroundColor = XLColor.FromArgb(153, 204, 255); ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 12).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 13).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 14).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 15).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; row++; } if (detail.topic_type == 3) { ws.Cell(row, 1).Value = detail.topic; ws.Cell(row, 2).Value = detail.science; ws.Cell(row, 3).Value = detail.society; ws.Cell(row, 4).Value = detail.academic_service; ws.Cell(row, row).Value = detail.nourish; ws.Cell(row, 6).Value = detail.plan_1; ws.Cell(row, 7).Value = detail.plan_2; ws.Cell(row, 8).Value = detail.plan_3; ws.Cell(row, 9).Value = detail.plan_4; ws.Cell(row, 10).Value = detail.plan_5; ws.Cell(row, 11).Value = detail.plan_6; ws.Cell(row, 12).Value = detail.plan_7; ws.Cell(row, 13).Value = detail.plan_8; ws.Cell(row, 14).Value = detail.plan_9; ws.Cell(row, 15).Value = detail.budget; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Font.SetBold().Font.FontSize = 14; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Alignment.WrapText = true; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(row, 2), ws.Cell(row, 15)).Style.NumberFormat.SetFormat("#,#0"); ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Cell(row, 2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 3).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 5).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 7).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 8).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 9).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 10).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 11).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 12).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 13).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 14).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 15).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; //ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Fill.BackgroundColor = XLColor.FromArgb(153,204,255); ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 12).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 13).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 14).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 15).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; row++; } if (detail.topic_type == 4) { ws.Cell(row, 1).Value = detail.topic; ws.Cell(row, 2).Value = detail.science; ws.Cell(row, 3).Value = detail.society; ws.Cell(row, 4).Value = detail.academic_service; ws.Cell(row, row).Value = detail.nourish; ws.Cell(row, 6).Value = detail.plan_1; ws.Cell(row, 7).Value = detail.plan_2; ws.Cell(row, 8).Value = detail.plan_3; ws.Cell(row, 9).Value = detail.plan_4; ws.Cell(row, 10).Value = detail.plan_5; ws.Cell(row, 11).Value = detail.plan_6; ws.Cell(row, 12).Value = detail.plan_7; ws.Cell(row, 13).Value = detail.plan_8; ws.Cell(row, 14).Value = detail.plan_9; ws.Cell(row, 15).Value = detail.budget; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Font.SetBold().Font.FontSize = 14; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Alignment.WrapText = true; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(row, 2), ws.Cell(row, 15)).Style.NumberFormat.SetFormat("#,#0"); ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Cell(row, 2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 3).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 5).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 7).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 8).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 9).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 10).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 11).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 12).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 13).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 14).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 15).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Fill.BackgroundColor = XLColor.FromArgb(255, 204, 153); ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 12).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 13).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 14).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 15).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; row++; } if (detail.topic_type == 5) { ws.Cell(row, 1).Value = detail.topic; ws.Cell(row, 2).Value = detail.science; ws.Cell(row, 3).Value = detail.society; ws.Cell(row, 4).Value = detail.academic_service; ws.Cell(row, row).Value = detail.nourish; ws.Cell(row, 6).Value = detail.plan_1; ws.Cell(row, 7).Value = detail.plan_2; ws.Cell(row, 8).Value = detail.plan_3; ws.Cell(row, 9).Value = detail.plan_4; ws.Cell(row, 10).Value = detail.plan_5; ws.Cell(row, 11).Value = detail.plan_6; ws.Cell(row, 12).Value = detail.plan_7; ws.Cell(row, 13).Value = detail.plan_8; ws.Cell(row, 14).Value = detail.plan_9; ws.Cell(row, 15).Value = detail.budget; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Font.SetBold().Font.FontSize = 14; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Alignment.WrapText = true; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(row, 2), ws.Cell(row, 15)).Style.NumberFormat.SetFormat("#,#0"); ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Cell(row, 2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 3).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 5).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 7).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 8).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 9).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 10).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 11).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 12).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 13).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 14).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row, 15).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Range(ws.Cell(row, 1), ws.Cell(row, 15)).Style.Fill.BackgroundColor = XLColor.FromArgb(255, 255, 204); ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 12).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 13).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 14).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 15).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; row++; } } } using (var stream1 = new MemoryStream()) { workbook.SaveAs(stream1); var content = stream1.ToArray(); string date = DateTime.Now.ToString("yyyyMMddHHmmss"); return File( content, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "basic_plan_all_" + date + ".xlsx"); } } [HttpPost, Route("reports/summary_strategic/{type}")] [ApiExplorerSettings(GroupName = "reports")] public IActionResult GetSumStrategicReport([FromRoute] string type, [FromBody] summary_strategic summary_strategics) { var _summary_strategic = new List() { summary_strategics }; Report report = new Report(); report.Load(_setting.report_path + "summary_strategic.frx"); report.RegisterData(_summary_strategic, "summary_strategic"); report.Prepare(); MemoryStream stream = new MemoryStream(); switch (type) { case "pdf": PDFExport pdf = new PDFExport(); report.Export(pdf, stream); stream.Seek(0, SeekOrigin.Begin); return File(stream, "application/pdf"); case "xls": case "xlsx": Excel2007Export excel = new Excel2007Export(); report.Export(excel, stream); stream.Seek(0, SeekOrigin.Begin); //return File(stream, "application/vnd.ms-excel"); string date = DateTime.Now.ToString("yyyyMMddHHmmss"); return File( stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", date + ".xlsx"); break; } return Ok(); } [HttpPost, Route("reports/budget_expenditure_from_revenue/{type}")] [ApiExplorerSettings(GroupName = "reports")] public IActionResult GetBudgetReport([FromRoute] string type, [FromBody] budget_expenditure_from_revenue budget_expenditure_from_revenues) { if (budget_expenditure_from_revenues.budget_expenditure_from_revenue_details != null) { foreach (var detail in budget_expenditure_from_revenues.budget_expenditure_from_revenue_details) { if (detail.topic_type == 1) { detail.topic_1 = detail.topic; detail.topic_2 = null; var sum1 = budget_expenditure_from_revenues.budget_expenditure_from_revenue_details .Where(h => h.topic_type == 1).Sum(j => j.current_students); budget_expenditure_from_revenues.sum_1 = sum1; var sum2 = budget_expenditure_from_revenues.budget_expenditure_from_revenue_details .Where(h => h.topic_type == 1).Sum(j => j.students_reduced); budget_expenditure_from_revenues.sum_2 = sum2; var sum3 = budget_expenditure_from_revenues.budget_expenditure_from_revenue_details .Where(h => h.topic_type == 1).Sum(j => j.students_estimates); budget_expenditure_from_revenues.sum_3 = sum3; var sum4 = budget_expenditure_from_revenues.budget_expenditure_from_revenue_details .Where(h => h.topic_type == 1).Sum(j => j.price_regis_flat_payment); budget_expenditure_from_revenues.sum_4 = sum4; var sum5 = budget_expenditure_from_revenues.budget_expenditure_from_revenue_details .Where(h => h.topic_type == 1).Sum(j => j.library_total); budget_expenditure_from_revenues.sum_5 = sum5; var sum6 = budget_expenditure_from_revenues.budget_expenditure_from_revenue_details .Where(h => h.topic_type == 1).Sum(j => j.utilities_total); budget_expenditure_from_revenues.sum_6 = sum6; var sum7 = budget_expenditure_from_revenues.budget_expenditure_from_revenue_details .Where(h => h.topic_type == 1).Sum(j => j.student_club_library_total); budget_expenditure_from_revenues.sum_7 = sum7; var sum8 = budget_expenditure_from_revenues.budget_expenditure_from_revenue_details .Where(h => h.topic_type == 1).Sum(j => j.accident_insurance_total); budget_expenditure_from_revenues.sum_8 = sum8; var sum9 = budget_expenditure_from_revenues.budget_expenditure_from_revenue_details .Where(h => h.topic_type == 1).Sum(j => j.academic_activities_total); budget_expenditure_from_revenues.sum_9 = sum9; var sum10 = budget_expenditure_from_revenues.budget_expenditure_from_revenue_details .Where(h => h.topic_type == 1).Sum(j => j.examination_and_x_rays_total); budget_expenditure_from_revenues.sum_10 = sum10; var sum11 = budget_expenditure_from_revenues.budget_expenditure_from_revenue_details .Where(h => h.topic_type == 1).Sum(j => j.tuition_fee_total); budget_expenditure_from_revenues.sum_11 = sum11; var sum12 = budget_expenditure_from_revenues.budget_expenditure_from_revenue_details .Where(h => h.topic_type == 1).Sum(j => j.education_fee_less_fee_total); budget_expenditure_from_revenues.sum_12 = sum12; } if (detail.topic_type == 2) { detail.topic_1 = detail.topic; detail.topic_2 = null; } if (detail.topic_type == 3) { detail.topic_2 = detail.topic; detail.topic_1 = null; } } } var _summarys = new List() { budget_expenditure_from_revenues }; Report report = new Report(); report.Load(_setting.report_path + "budget_expenditure_from_revenue.frx"); report.RegisterData(_summarys, "budget_expenditure_from_revenue"); report.Prepare(); MemoryStream stream = new MemoryStream(); switch (type) { case "pdf": PDFExport pdf = new PDFExport(); report.Export(pdf, stream); stream.Seek(0, SeekOrigin.Begin); return File(stream, "application/pdf"); case "xls": case "xlsx": Excel2007Export excel = new Excel2007Export(); report.Export(excel, stream); stream.Seek(0, SeekOrigin.Begin); //return File(stream, "application/vnd.ms-excel"); string date = DateTime.Now.ToString("yyyyMMddHHmmss"); return File( stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", date + ".xlsx"); break; } return Ok(); } [HttpPost, Route("reports/revenue_estimates/{type}")] [ApiExplorerSettings(GroupName = "reports")] public IActionResult GetRevenueEstimatesReport([FromRoute] string type, [FromBody] revenue_estimates revenue_estimate) { var workbook = new XLWorkbook(); var ws = workbook.Worksheets.Add("สรุปรายรับและจัดสรรตามเกณฑ์"); ws.Range("A1:S1").Merge().Value = "งบประมาณรายจ่ายจากเงินรายได้ ประจำปีงบประมาณ พ.ศ. " + revenue_estimate.academic_year_name_th; ws.Range("A1:S1").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range("A1:S1").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range("A1:S1").Style.Font.FontName = "TH SarabunPSK"; ws.Range("A1:S1").Style.Font.SetBold().Font.FontSize = 16; ws.Range("A2:S2").Merge().Value = "( " + revenue_estimate.start_and_end_date_report + " )"; ws.Range("A2:S2").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range("A2:S2").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range("A2:S2").Style.Font.FontName = "TH SarabunPSK"; ws.Range("A2:S2").Style.Font.SetBold().Font.FontSize = 16; ws.Range("A3:S3").Merge().Value = "สรุปประมาณการรายรับ และการจัดสรรตามเกณฑ์รายจ่าย การจัดการศึกษาระดับ" + revenue_estimate.education_level; ws.Range("A3:S3").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range("A3:S3").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range("A3:S3").Style.Font.FontName = "TH SarabunPSK"; ws.Range("A3:S3").Style.Font.SetBold().Font.FontSize = 16; ws.Range("A4:S4").Merge().Value = "คณะ/วิทยาลัย " + revenue_estimate.faculty_name_th + " " + "พื้นที่ " + revenue_estimate.agency_name_th; ws.Range("A4:S4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range("A4:S4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range("A4:S4").Style.Font.FontName = "TH SarabunPSK"; ws.Range("A4:S4").Style.Font.SetBold().Font.FontSize = 16; ws.Column(1).Width = 30; ws.Column(5).Width = 15; ws.Column(6).Width = 15; ws.Column(7).Width = 15; ws.Column(8).Width = 15; ws.Column(9).Width = 15; ws.Column(10).Width = 15; ws.Column(11).Width = 15; ws.Column(12).Width = 15; ws.Column(13).Width = 15; ws.Column(14).Width = 15; ws.Column(15).Width = 15; ws.Column(16).Width = 15; ws.Column(17).Width = 15; ws.Column(18).Width = 15; ws.Column(19).Width = 15; ws.Row(5).Height = 30; ws.Row(6).Height = 30; int row = 7; //int no = 1; if (revenue_estimate != null) { ws.Range("A5:A6").Merge().Value = "ผลผลิต / ภาคการศึกษา / ภาคเรียน"; ws.Range("A5:A6").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range("A5:A6").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range("A5:A6").Style.Font.FontName = "TH SarabunPSK"; ws.Range("A5:A6").Style.Font.SetBold().Font.FontSize = 14; ws.Range("A5:A6").Style.Fill.BackgroundColor = XLColor.FromArgb(248, 203, 173); ws.Range("A5:A6").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range("B5:C6").Merge().Value = "ประมาณการรายรับ"; ws.Range("B5:C6").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range("B5:C6").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range("B5:C6").Style.Font.FontName = "TH SarabunPSK"; ws.Range("B5:C6").Style.Font.SetBold().Font.FontSize = 14; ws.Range("B5:C6").Style.Fill.BackgroundColor = XLColor.FromArgb(248, 203, 173); ws.Range("B5:C6").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range("D5:E6").Merge().Value = "หัก ประมาณการรายรับคณะศิลปศาสตร์ ( ศึกษาทั่วไป )"; ws.Range("D5:E6").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range("D5:E6").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range("D5:E6").Style.Font.FontName = "TH SarabunPSK"; ws.Range("D5:E6").Style.Font.SetBold().Font.FontSize = 14; ws.Range("D5:E6").Style.Fill.BackgroundColor = XLColor.FromArgb(248, 203, 173); ws.Range("D5:E6").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range("F5:G6").Merge().Value = "คงเหลือ ประมาณการรายรับก่อนหักรายได้สะสม และจัดสรรตามเกณฑ์"; ws.Range("F5:G6").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range("F5:G6").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range("F5:G6").Style.Font.FontName = "TH SarabunPSK"; ws.Range("F5:G6").Style.Font.SetBold().Font.FontSize = 14; ws.Range("F5:G6").Style.Fill.BackgroundColor = XLColor.FromArgb(248, 203, 173); ws.Range("F5:G6").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range("H5:I6").Merge().Value = "หัก รายได้สะสม ร้อยละ 10"; ws.Range("H5:I6").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range("H5:I6").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range("H5:I6").Style.Font.FontName = "TH SarabunPSK"; ws.Range("H5:I6").Style.Font.SetBold().Font.FontSize = 14; ws.Range("H5:I6").Style.Fill.BackgroundColor = XLColor.FromArgb(248, 203, 173); ws.Range("H5:I6").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range("J5:K6").Merge().Value = "คงเหลือ ประมาณการรายรับ ก่อนจัดสรรตามเกณฑ์"; ws.Range("J5:K6").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range("J5:K6").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range("J5:K6").Style.Font.FontName = "TH SarabunPSK"; ws.Range("J5:K6").Style.Font.SetBold().Font.FontSize = 14; ws.Range("J5:K6").Style.Fill.BackgroundColor = XLColor.FromArgb(248, 203, 173); ws.Range("J5:K6").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range("L5:M6").Merge().Value = "สมทบค่าสาธารณูปโภคมหาวิทยาลัย ร้อยละ 5"; ws.Range("L5:M6").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range("L5:M6").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range("L5:M6").Style.Font.FontName = "TH SarabunPSK"; ws.Range("L5:M6").Style.Font.SetBold().Font.FontSize = 14; ws.Range("L5:M6").Style.Fill.BackgroundColor = XLColor.FromArgb(248, 203, 173); ws.Range("L5:M6").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range("N5:O6").Merge().Value = "สมทบงบกลาง มหาวิทยาลัย ร้อยละ 15"; ws.Range("N5:O6").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range("N5:O6").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range("N5:O6").Style.Font.FontName = "TH SarabunPSK"; ws.Range("N5:O6").Style.Font.SetBold().Font.FontSize = 14; ws.Range("N5:O6").Style.Fill.BackgroundColor = XLColor.FromArgb(248, 203, 173); ws.Range("N5:O6").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range("P5:Q6").Merge().Value = "สมทบรายจ่ายส่วนกลางมหาวิทยาลัย ร้อยละ 40/50/60"; ws.Range("P5:Q6").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range("P5:Q6").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range("P5:Q6").Style.Font.FontName = "TH SarabunPSK"; ws.Range("P5:Q6").Style.Font.SetBold().Font.FontSize = 14; ws.Range("P5:Q6").Style.Fill.BackgroundColor = XLColor.FromArgb(248, 203, 173); ws.Range("P5:Q6").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range("R5:S6").Merge().Value = "กรอบวงเงินรายจ่ายของคณะ/วิทยาลัย ร้อยละ 40/50/60"; ws.Range("R5:S6").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range("R5:S6").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range("R5:S6").Style.Font.FontName = "TH SarabunPSK"; ws.Range("R5:S6").Style.Font.SetBold().Font.FontSize = 14; ws.Range("R5:S6").Style.Fill.BackgroundColor = XLColor.FromArgb(248, 203, 173); ws.Range("R5:S6").Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Range(ws.Cell(5, 1), ws.Cell(6, 19)).Style.Alignment.WrapText = true; int r1 = 1; int r2 = 2; foreach (var detail in revenue_estimate.revenue_estimates_details) { if (detail.topic_type == 1) { ws.Cell(row, 1).Value = detail.topic; ws.Cell(row, 2).Value = detail.revenue_estimates; ws.Cell(row, 3).Value = "บาท"; ws.Cell(row, 4).Value = detail.less_revenue_estimates; ws.Cell(row, 5).Value = "บาท"; ws.Cell(row, 6).Value = detail.balance_revenue_estimates; ws.Cell(row, 7).Value = "บาท"; ws.Cell(row, 8).Value = detail.less_accumulated_income; ws.Cell(row, 9).Value = "บาท"; ws.Cell(row, 10).Value = detail.balance_before_allocating_according; ws.Cell(row, 11).Value = "บาท"; ws.Cell(row, 12).Value = detail.contribution_utility_bills; ws.Cell(row, 13).Value = "บาท"; ws.Cell(row, 14).Value = detail.contribution_central_budget; ws.Cell(row, 15).Value = "บาท"; ws.Cell(row, 16).Value = detail.contribution_central_expenditure; ws.Cell(row, 17).Value = "บาท"; ws.Cell(row, 18).Value = detail.expenditure_limit; ws.Cell(row, 19).Value = "บาท"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.SetBold().Font.FontSize = 16; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.WrapText = true; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Range(ws.Cell(row, 2), ws.Cell(row, 19)).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Fill.BackgroundColor = XLColor.FromArgb(252, 228, 214); ws.Cell(row, 2).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 4).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 6).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 8).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 10).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 12).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 14).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 16).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 18).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 12).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 13).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 14).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 15).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 16).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 17).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 18).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 19).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; row++; } if (detail.topic_type == 2) { ws.Cell(row, 1).Value = detail.topic; ws.Cell(row, 2).Value = detail.revenue_estimates; ws.Cell(row, 3).Value = "บาท"; ws.Cell(row, 4).Value = detail.less_revenue_estimates; ws.Cell(row, 5).Value = "บาท"; ws.Cell(row, 6).Value = detail.balance_revenue_estimates; ws.Cell(row, 7).Value = "บาท"; ws.Cell(row, 8).Value = detail.less_accumulated_income; ws.Cell(row, 9).Value = "บาท"; ws.Cell(row, 10).Value = detail.balance_before_allocating_according; ws.Cell(row, 11).Value = "บาท"; ws.Cell(row, 12).Value = detail.contribution_utility_bills; ws.Cell(row, 13).Value = "บาท"; ws.Cell(row, 14).Value = detail.contribution_central_budget; ws.Cell(row, 15).Value = "บาท"; ws.Cell(row, 16).Value = detail.contribution_central_expenditure; ws.Cell(row, 17).Value = "บาท"; ws.Cell(row, 18).Value = detail.expenditure_limit; ws.Cell(row, 19).Value = "บาท"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.SetBold().Font.FontSize = 14; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.WrapText = true; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Range(ws.Cell(row, 2), ws.Cell(row, 19)).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; //ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Fill.BackgroundColor = XLColor.FromArgb(252, 228, 214); ws.Cell(row, 2).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 4).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 6).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 8).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 10).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 12).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 14).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 16).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 18).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 12).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 13).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 14).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 15).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 16).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 17).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 18).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 19).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; row++; } if (detail.topic_type == 3) { ws.Cell(row, 1).Value = detail.topic; ws.Cell(row, 2).Value = detail.revenue_estimates; ws.Cell(row, 3).Value = "บาท"; ws.Cell(row, 4).Value = detail.less_revenue_estimates; ws.Cell(row, 5).Value = "บาท"; ws.Cell(row, 6).Value = detail.balance_revenue_estimates; ws.Cell(row, 7).Value = "บาท"; ws.Cell(row, 8).Value = detail.less_accumulated_income; ws.Cell(row, 9).Value = "บาท"; ws.Cell(row, 10).Value = detail.balance_before_allocating_according; ws.Cell(row, 11).Value = "บาท"; ws.Cell(row, 12).Value = detail.contribution_utility_bills; ws.Cell(row, 13).Value = "บาท"; ws.Cell(row, 14).Value = detail.contribution_central_budget; ws.Cell(row, 15).Value = "บาท"; ws.Cell(row, 16).Value = detail.contribution_central_expenditure; ws.Cell(row, 17).Value = "บาท"; ws.Cell(row, 18).Value = detail.expenditure_limit; ws.Cell(row, 19).Value = "บาท"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.FontSize = 14; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.WrapText = true; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; ws.Range(ws.Cell(row, 2), ws.Cell(row, 19)).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; //ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Fill.BackgroundColor = XLColor.FromArgb(252, 228, 214); ws.Cell(row, 2).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 4).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 6).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 8).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 10).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 12).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 14).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 16).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 18).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 12).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 13).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 14).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 15).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 16).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 17).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 18).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 19).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; row++; } if (detail.topic_type == 4) { ws.Cell(row, 1).Value = "รวม"; ws.Cell(row, 2).Value = detail.revenue_estimates; ws.Cell(row, 3).Value = "บาท"; ws.Cell(row, 4).Value = detail.less_revenue_estimates; ws.Cell(row, 5).Value = "บาท"; ws.Cell(row, 6).Value = detail.balance_revenue_estimates; ws.Cell(row, 7).Value = "บาท"; ws.Cell(row, 8).Value = detail.less_accumulated_income; ws.Cell(row, 9).Value = "บาท"; ws.Cell(row, 10).Value = detail.balance_before_allocating_according; ws.Cell(row, 11).Value = "บาท"; ws.Cell(row, 12).Value = detail.contribution_utility_bills; ws.Cell(row, 13).Value = "บาท"; ws.Cell(row, 14).Value = detail.contribution_central_budget; ws.Cell(row, 15).Value = "บาท"; ws.Cell(row, 16).Value = detail.contribution_central_expenditure; ws.Cell(row, 17).Value = "บาท"; ws.Cell(row, 18).Value = detail.expenditure_limit; ws.Cell(row, 19).Value = "บาท"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.SetBold().Font.FontSize = 16; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.WrapText = true; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range(ws.Cell(row, 2), ws.Cell(row, 19)).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Fill.BackgroundColor = XLColor.FromArgb(252, 228, 214); ws.Cell(row, 2).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 4).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 6).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 8).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 10).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 12).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 14).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 16).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 18).Style.NumberFormat.SetFormat("#,#0"); ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 12).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 13).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 14).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 15).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 16).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 17).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 18).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; ws.Cell(row, 19).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; row++; } if (detail.is_footer== true) { ws.Cell(row, 14).Value = "ลงชื่อ"; ws.Cell(row, 15).Value = revenue_estimate.author_name; ws.Cell(row, 17).Value = "ผู้จัดทำ"; ws.Cell(row + r1, 14).Value = "ตำแหน่ง"; ws.Cell(row+r1, 15).Value = revenue_estimate.position_name; ws.Cell(row+r2, 14).Value = "เบอร์โทรติดต่อ"; ws.Cell(row+r2, 15).Value = "'"+revenue_estimate.phone; ws.Range(ws.Cell(row, 14), ws.Cell(row, 17)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row, 14), ws.Cell(row, 17)).Style.Font.SetBold().Font.FontSize = 14; // ws.Range(ws.Cell(row, 15), ws.Cell(row, 16)).Style.Border.BottomBorder = XLBorderStyleValues.Dotted; // ws.Range(ws.Cell(row+1, 15), ws.Cell(row, 16)).Style.Border.BottomBorder = XLBorderStyleValues.Dotted; ws.Cell(row, 14).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row+1, 14).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row+2, 14).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; ws.Cell(row+1, 14).Style.Font.FontName = "TH SarabunPSK"; ws.Cell(row+2, 14).Style.Font.FontName = "TH SarabunPSK"; ws.Cell(row+1, 14).Style.Font.SetBold().Font.FontSize = 14; ws.Cell(row+2, 14).Style.Font.SetBold().Font.FontSize = 14; ws.Range(ws.Cell(row, 15), ws.Cell(row, 16)).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row+1, 15), ws.Cell(row, 16)).Style.Font.FontName = "TH SarabunPSK"; ws.Cell(row+2, 15).Style.Font.FontName = "TH SarabunPSK"; ws.Range(ws.Cell(row, 15), ws.Cell(row, 16)).Style.Font.SetBold().Font.FontSize = 14; ws.Range(ws.Cell(row+1, 15), ws.Cell(row, 16)).Style.Font.SetBold().Font.FontSize = 14; ws.Cell(row+2, 15).Style.Font.SetBold().Font.FontSize = 14; ws.Range(ws.Cell(row, 15), ws.Cell(row, 16)).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Range(ws.Cell(row+1, 15), ws.Cell(row, 16)).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell(row+2, 15).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; ws.Cell(row+3, 15).Style.Font.FontName = "TH SarabunPSK"; ws.Cell(row+3, 15).Style.Font.SetBold().Font.FontSize = 14; ws.Cell(row+3, 15).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; row++; row += r1++; row += r2++; } } } using (var stream1 = new MemoryStream()) { workbook.SaveAs(stream1); var content = stream1.ToArray(); string date = DateTime.Now.ToString("yyyyMMddHHmmss"); return File( content, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "revenue_estimates_" + date + ".xlsx"); } } } }