using System; using System.Collections.Generic; using System.Data; using System.IO; using Kreta.Core.ConnectionType; using OfficeOpenXml; namespace Kreta.BusinessLogic.Helpers.Nyomtatvanyok.Excel { public class OsztalyStatisztika : BaseNyomtatvanyExcel { private bool IsMagatartasSzorgalomNemLatszik { get; } = false; public OsztalyStatisztika(IConnectionType connectionType, bool isMultisheetExcel = false, string templateFilename = null, bool isMagatartasSzorgalomNemLatszik = false) : base(connectionType, isMultisheetExcel) { StoredProcedure = "uspNyomtatvany_Excel_IdoszakiOsztalyStatisztika"; IsMagatartasSzorgalomNemLatszik = isMagatartasSzorgalomNemLatszik; FileInfo exFile = null; if (templateFilename != null) { exFile = new FileInfo(templateFilename); } ExcelPackage = (exFile == null) ? new ExcelPackage() : new ExcelPackage(exFile); //Munkalap tulajdonságok beállítása SetWorkbookProperties(); } public override void CreateSheet(Dictionary dbParameters, int sheetIndex = 1) { DbParameters = dbParameters; dbParameters.TryGetValue("pElmeletgyakorlat", out var elmeletGyakorlat); if (string.IsNullOrWhiteSpace(elmeletGyakorlat)) { elmeletGyakorlat = "0"; } dbParameters.TryGetValue("pErtekelestipusaId", out var ertekelesTipusaId); if (string.IsNullOrWhiteSpace(ertekelesTipusaId)) { ertekelesTipusaId = Convert.ToString(Enums.ErtekelesTipusEnum.evvegi_jegy_ertekeles); } // Adatforrás összeállítása SetExcelDataSet(); DataAccessManual.Util.DataAccessBase.SetBoolFields(DataSet.Tables[8], "OJCSJKeresztfeleves,OJTechnikaiOsztaly,OJNemzetisegi,OJKettannyelvu,OJNyelviElokeszito,OJIsGyogypedagogiaiLogopediai,OJSportOsztaly,OJAranyJanosProgram"); var osztalyDt = DataSet.Tables[0]; var tanuloDt = DataSet.Tables[1]; var tantargyakDt = DataSet.Tables[2]; var ertekelesDt = DataSet.Tables[3]; var magszorgDt = DataSet.Tables[4]; var mulasztasDt = DataSet.Tables[5]; var mulasztasSumDt = DataSet.Tables[6]; var tanoraiFeljegyzesDt = DataSet.Tables[7]; var szamossagDT = DataSet.Tables[9]; //Munkalap összeállítása var worksheet = CreateSheet(isMultisheetExcel ? osztalyDt.Rows[0]["C_NEV"].ToString() : Resources.ExcelNyomtatvanyResource.ResourceManager.GetString("OsztalyStatisztikaMunkalapnev_" + ertekelesTipusaId), sheetIndex, eOrientation.Landscape, true); worksheet.Row(1).Height = 15; worksheet.Row(2).Height = 120; worksheet.Column(1).Width = 30; //Hiányzó fejlécek beállítása AddTanuloAdatokFejlec(worksheet, 2); for (var targycol = 2; targycol < tantargyakDt.Rows.Count + 2 + 3 + (elmeletGyakorlat.Equals("0") ? 8 : 14); targycol++) { worksheet.Column(targycol).Width = 6; } AddLabelRange(worksheet, 1, 1, 1, 2, Resources.ExcelNyomtatvanyResource.ResourceManager.GetString("OsztalyStatisztikaDokumentumNev_" + ertekelesTipusaId), DocnameStyle); worksheet.Column(2).Width = 13; AddLabelCell(worksheet, 1, 3, "", DocheaderStyle1); AddLabelRange(worksheet, 1, 4, 1, 4/*Magatartás szorgalom*/ + tantargyakDt.Rows.Count + 1 + (elmeletGyakorlat.Equals("0") ? 8 : 14), osztalyDt.Rows[0]["C_NEV"].ToString(), DocheaderStyle2); int[] retDimErtekeles; string[] adatMezo; string[] megjegyzesMezo; if (IsMagatartasSzorgalomNemLatszik) { adatMezo = new string[] { "ERTEKELES" }; megjegyzesMezo = new string[] { "ERTEKELES_SZOVEG_MEGJEGYZES" }; retDimErtekeles = AddDataTablePivotTable(worksheet, 2, 1, tantargyakDt, "C_TANTARGYID", "TANTARGY_NEV", tanuloDt, "C_TANULOID", new[] { "TANULONEV", "OKTATASIAZONOSITO" }, ertekelesDt, IntegerStyleBottomBordered, HeaderStyle90BottomBordered, HeaderStyleBottomBordered, adatMezo, megjegyzesMezo, new[] { "AVERAGE", "IF,#3=0,#-1,1", null, null, "COUNTIF,1" }, new[] { Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaTanulmanyiAtlag, Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaTanulmanyiAtlag2, null, null, Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaBukasokSzama }, new[] { Numeric2BoldStyleBottomBordered, Numeric2BoldStyleBottomBordered, null, null, IntegerBoldStyleBottomBordered }, new[] { "AVERAGE", "COUNTIF,5", "COUNTIF,4", "COUNTIF,3", "COUNTIF,2", "COUNTIF,1" }, new[] { Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaTantargyiAtlag, "5", "4", "3", "2", "1" }, new[] { Numeric2BoldStyleBottomBordered, IntegerStyleBottomBordered, IntegerStyleBottomBordered, IntegerStyleBottomBordered, IntegerStyleBottomBordered, IntegerStyleBottomBordered }); retDimErtekeles[1] -= 4; } else { //Értékelés statisztika hozzáadása var magatartasHeaderDtCreatorArray = new List { new[] { "id", "name", "torolt" }, new[] { "1", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaMagatartas, "F" } }; AddDataTablePivotTable(worksheet, 2, 1, CreateDataTable(magatartasHeaderDtCreatorArray), new[] { "TOROLT" }, "name", tanuloDt, new[] { "C_TANULOID" }, new[] { "TANULONEV", "OKTATASIAZONOSITO" }, magszorgDt, IntegerStyleBottomBordered, HeaderStyle90BottomBordered, HeaderStyleBottomBordered, new[] { "MagatartasOsztalyzat" }, null, null, null, null, new[] { "AVERAGE", "COUNTIF,5", "COUNTIF,4", "COUNTIF,3", "COUNTIF,2", "COUNTIF,1" }, new[] { Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaTantargyiAtlag, "5", "4", "3", "2", "1" }, new[] { Numeric2BoldStyleBottomBordered, IntegerStyleBottomBordered, IntegerStyleBottomBordered, IntegerStyleBottomBordered, IntegerStyleBottomBordered, IntegerStyleBottomBordered }); var szorgalomHeaderDtCreatorArray = new List { new[] { "id", "name", "torolt" }, new[] { "1", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaSzorgalom, "F" } }; AddDataTablePivotTable(worksheet, 2, 4, CreateDataTable(szorgalomHeaderDtCreatorArray), new[] { "TOROLT" }, "name", tanuloDt, new[] { "C_TANULOID" }, null, magszorgDt, IntegerStyleBottomBordered, HeaderStyle90BottomBordered, HeaderStyleBottomBordered, new[] { "SzorgalomOsztalyzat" }, null, null, null, null, new[] { "AVERAGE", "COUNTIF,5", "COUNTIF,4", "COUNTIF,3", "COUNTIF,2", "COUNTIF,1" }, null, new[] { Numeric2BoldStyleBottomBordered, IntegerStyleBottomBordered, IntegerStyleBottomBordered, IntegerStyleBottomBordered, IntegerStyleBottomBordered, IntegerStyleBottomBordered }); adatMezo = new string[] { "ERTEKELES" }; megjegyzesMezo = new string[] { "ERTEKELES_SZOVEG_MEGJEGYZES" }; retDimErtekeles = AddDataTablePivotTable(worksheet, 2, 5, tantargyakDt, "C_TANTARGYID", "TANTARGY_NEV", tanuloDt, "C_TANULOID", null, ertekelesDt, IntegerStyleBottomBordered, HeaderStyle90BottomBordered, HeaderStyleBottomBordered, adatMezo, megjegyzesMezo, new[] { "AVERAGE", "IF,#3=0,#-1,1", null, null, "COUNTIF,1" }, new[] { Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaTanulmanyiAtlag, Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaTanulmanyiAtlag2, null, null, Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaBukasokSzama }, new[] { Numeric2BoldStyleBottomBordered, Numeric2BoldStyleBottomBordered, null, null, IntegerBoldStyleBottomBordered }, new[] { "AVERAGE", "COUNTIF,5", "COUNTIF,4", "COUNTIF,3", "COUNTIF,2", "COUNTIF,1" }, new[] { Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaTantargyiAtlag, "5", "4", "3", "2", "1" }, new[] { Numeric2BoldStyleBottomBordered, IntegerStyleBottomBordered, IntegerStyleBottomBordered, IntegerStyleBottomBordered, IntegerStyleBottomBordered, IntegerStyleBottomBordered }); } //Átlagok átlaga AddAggregateFormulaCell(worksheet, 2 + retDimErtekeles[0] - 6, retDimErtekeles[1] + 5 - 5, "AVERAGE", 3, retDimErtekeles[1] + 5 - 5, 2 + retDimErtekeles[0] - 7, retDimErtekeles[1] + 5 - 5, true, Numeric2BoldBigerStyleBottomBordered); //Átlagok 2 átlaga AddAggregateFormulaCell(worksheet, 2 + retDimErtekeles[0] - 6, retDimErtekeles[1] + 5 - 4, "AVERAGE", 3, retDimErtekeles[1] + 5 - 4, 2 + retDimErtekeles[0] - 7, retDimErtekeles[1] + 5 - 4, true, Numeric2BoldBigerStyleBottomBordered); //Bukások száma AddAggregateFormulaCell(worksheet, 2 + retDimErtekeles[0] - 6, retDimErtekeles[1] + 5 - 1, "SUM", 3, retDimErtekeles[1] + 5 - 1, 2 + retDimErtekeles[0] - 7, retDimErtekeles[1] + 5 - 1, true, IntegerBoldStyleBottomBordered); //Dicséret, Kitűnő számosságok var szamossagTipusok = new List { "Dicseret", "Kituno" }; var szamossagTipusokNev = new List { Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaDicseretekSzama, Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaKitunoErtekelesekSzama }; var szamossagPos = 0; foreach (var szamossagTipus in szamossagTipusok) { var szamossag1DtCreatorArray = new List { new[] { "id", "name", "TOROLT"}, new[] { "1", szamossagTipusokNev[szamossagPos], "F" } }; AddDataTablePivotTable(worksheet, 2, retDimErtekeles[1] + 5 - 3 + szamossagPos, CreateDataTable(szamossag1DtCreatorArray), new string[0], "name", tanuloDt, new[] { "C_TANULOID" }, null, szamossagDT, IntegerBoldStyleBottomBordered, HeaderStyle90BottomBordered, HeaderStyleBottomBordered, new[] { szamossagTipus }, null, null, null, null, new[] { "SUM" }, null, new[] { IntegerBoldStyleBottomBordered }); szamossagPos++; } //Tanórai var feljegyzesTipusok = new List(new[] { "TanoraiDicseret", "FelszerelesHiany", "HaziFeladatHiany" }); var feljegyzesTipusokNev = new List(new[] { Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaTanoraiDicseret, Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaFelszerelesHiany, Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaHaziFeladatHiany }); var feljegyzesPos = 0; foreach (var feljegyzesTipus in feljegyzesTipusok) { var tanoraiFeljegyzes1DtCreatorArray = new List { new[] { "id", "name", "TOROLT"}, new[] { "1", feljegyzesTipusokNev[feljegyzesPos], "F" } }; AddDataTablePivotTable(worksheet, 2, retDimErtekeles[1] + 5 + feljegyzesPos, CreateDataTable(tanoraiFeljegyzes1DtCreatorArray), new[] { "TOROLT" }, "name", tanuloDt, new[] { "C_TANULOID" }, null, tanoraiFeljegyzesDt, IntegerStyleBottomBordered, HeaderStyle90BottomBordered, HeaderStyleBottomBordered, new[] { feljegyzesTipus }, null, null, null, null, new[] { "SUM" }, null, new[] { IntegerBoldStyleBottomBordered }); feljegyzesPos++; } var retDimFeljegyzes = new[] { retDimErtekeles[0], 3 }; //Mulasztási statisztika hozzáadása var osszesHianyzasHeaderDtCreatorArray = new List(); var hianyzasHeaderDtCreatorArray = new List(); var kesespercHeaderDtCreatorArray = new List(); var keseshianyzasHeaderDtCreatorArray = new List(); var hozotthianyzasHeaderDtCreatorArray = new List(); var feldolgozatlanHeaderDtCreatorArray = new List(); var hianyzaskesespercFilter = new List(new[] { "tipus_char", "c_igazolt" }); var keseshianyzasFilter = new List(new[] { "c_igazolt" }); if (elmeletGyakorlat.Equals("0")) { osszesHianyzasHeaderDtCreatorArray.Add(new[] { "id", "mulasztas_name", "tipus_char", "c_igazolt" }); osszesHianyzasHeaderDtCreatorArray.Add(new[] { "1", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaOsszesIgazoltHianyzas, "H", "T" }); osszesHianyzasHeaderDtCreatorArray.Add(new[] { "2", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaOsszesIgazolatlanHianyzas, "H", "F" }); hianyzasHeaderDtCreatorArray.Add(new[] { "id", "mulasztas_name", "tipus_char", "c_igazolt" }); hianyzasHeaderDtCreatorArray.Add(new[] { "1", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaIgazoltHianyzasok, "H", "T" }); hianyzasHeaderDtCreatorArray.Add(new[] { "2", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaIgazolatlanHianyzasok, "H", "F" }); kesespercHeaderDtCreatorArray.Add(new[] { "id", "mulasztas_name", "tipus_char", "c_igazolt" }); kesespercHeaderDtCreatorArray.Add(new[] { "1", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaIgazoltKesesPerc, "K", "T" }); kesespercHeaderDtCreatorArray.Add(new[] { "2", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaIgazolatlanKesesPerc, "K", "F" }); keseshianyzasHeaderDtCreatorArray.Add(new[] { "id", "mulasztas_name", "c_igazolt", "c_hozott" }); keseshianyzasHeaderDtCreatorArray.Add(new[] { "1", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaIgazoltKesesHianyzas, "T", "F" }); keseshianyzasHeaderDtCreatorArray.Add(new[] { "2", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaIgazolatlanKesesHianyzas, "F", "F" }); hozotthianyzasHeaderDtCreatorArray.Add(new[] { "id", "mulasztas_name", "tipus_char", "c_igazolt" }); hozotthianyzasHeaderDtCreatorArray.Add(new[] { "1", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaHozottIgazoltHianyzas, "H", "T" }); hozotthianyzasHeaderDtCreatorArray.Add(new[] { "2", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaHozottIgazolatlanHianyzas, "H", "F" }); feldolgozatlanHeaderDtCreatorArray.Add(new[] { "id", "mulasztas_name", "tipus_char", "c_igazolt" }); feldolgozatlanHeaderDtCreatorArray.Add(new[] { "1", Resources.ExcelNyomtatvanyResource.FeldolgozatlanMulasztas, "H", "-" }); feldolgozatlanHeaderDtCreatorArray.Add(new[] { "2", Resources.ExcelNyomtatvanyResource.FeldolgozatlanKesesPerc, "K", "-" }); } else if (elmeletGyakorlat.Equals("1")) { hianyzaskesespercFilter.Add("c_gyakorlati"); keseshianyzasFilter.Add("c_gyakorlati"); osszesHianyzasHeaderDtCreatorArray.Add(new[] { "id", "mulasztas_name", "tipus_char", "c_igazolt", "c_gyakorlati" }); osszesHianyzasHeaderDtCreatorArray.Add(new[] { "1", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaOsszesElmeletiIgazoltHianyzas, "H", "T", "F" }); osszesHianyzasHeaderDtCreatorArray.Add(new[] { "2", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaOsszesGyakorlatiIgazoltHianyzas, "H", "T", "T" }); osszesHianyzasHeaderDtCreatorArray.Add(new[] { "3", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaOsszesElmeletiIgazolatlanHianyzas, "H", "F", "F" }); osszesHianyzasHeaderDtCreatorArray.Add(new[] { "4", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaOsszesGyakorlatiIgazolatlanHianyzas, "H", "F", "T" }); hianyzasHeaderDtCreatorArray.Add(new[] { "id", "mulasztas_name", "tipus_char", "c_igazolt", "c_gyakorlati" }); hianyzasHeaderDtCreatorArray.Add(new[] { "1", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaElmeletiIgazoltHianyzas, "H", "T", "F" }); hianyzasHeaderDtCreatorArray.Add(new[] { "2", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaGyakorlatiIgazoltHianyzas, "H", "T", "T" }); hianyzasHeaderDtCreatorArray.Add(new[] { "3", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaElmeletiIgazolatlanHianyzas, "H", "F", "F" }); hianyzasHeaderDtCreatorArray.Add(new[] { "4", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaGyakorlatiIgazolatlanHianyzas, "H", "F", "T" }); kesespercHeaderDtCreatorArray.Add(new[] { "id", "mulasztas_name", "tipus_char", "c_igazolt", "c_gyakorlati", "c_hozott" }); kesespercHeaderDtCreatorArray.Add(new[] { "1", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaElmeletiIgazoltKesesPerc, "K", "T", "F", "F" }); kesespercHeaderDtCreatorArray.Add(new[] { "2", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaGyakorlatiIgazoltKesesPerc, "K", "T", "T", "F" }); kesespercHeaderDtCreatorArray.Add(new[] { "3", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaElmeletiIgazolatlanKesesPerc, "K", "F", "F", "F" }); kesespercHeaderDtCreatorArray.Add(new[] { "4", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaGyakorlatiIgazolatlanKesesPerc, "K", "F", "T", "F" }); keseshianyzasHeaderDtCreatorArray.Add(new[] { "id", "mulasztas_name", "c_igazolt", "c_gyakorlati", "c_hozott" }); keseshianyzasHeaderDtCreatorArray.Add(new[] { "1", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaElmeletiIgazoltKesesHianyzas, "T", "F", "F" }); keseshianyzasHeaderDtCreatorArray.Add(new[] { "2", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaGyakorlatiIgazoltKesesHianyzas, "T", "T", "F" }); keseshianyzasHeaderDtCreatorArray.Add(new[] { "3", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaElmeletiIgazolatlanKesesHianyzas, "F", "F", "F" }); keseshianyzasHeaderDtCreatorArray.Add(new[] { "4", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaGyakorlatiIgazolatlanKesesHianyzas, "F", "T", "F" }); hozotthianyzasHeaderDtCreatorArray.Add(new[] { "id", "mulasztas_name", "tipus_char", "c_igazolt", "c_gyakorlati", "c_hozott" }); hozotthianyzasHeaderDtCreatorArray.Add(new[] { "1", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaHozottIgazoltHianyzas, "H", "T", "F", "T" }); hozotthianyzasHeaderDtCreatorArray.Add(new[] { "2", Resources.ExcelNyomtatvanyResource.OsztalyStatisztikaHozottIgazolatlanHianyzas, "H", "F", "F", "T" }); feldolgozatlanHeaderDtCreatorArray.Add(new[] { "id", "mulasztas_name", "tipus_char", "c_igazolt", "c_gyakorlati" }); feldolgozatlanHeaderDtCreatorArray.Add(new[] { "1", Resources.ExcelNyomtatvanyResource.FeldolgozatlanElmeletiMulasztas, "H", "-", "F" }); feldolgozatlanHeaderDtCreatorArray.Add(new[] { "2", Resources.ExcelNyomtatvanyResource.FeldolgozatlanGyakorlatiMulasztas, "H", "-", "T" }); feldolgozatlanHeaderDtCreatorArray.Add(new[] { "3", Resources.ExcelNyomtatvanyResource.FeldolgozatlanElmeletiKesesPerc, "K", "-", "F" }); feldolgozatlanHeaderDtCreatorArray.Add(new[] { "4", Resources.ExcelNyomtatvanyResource.FeldolgozatlanGyakorlatiKesesPerc, "K", "-", "T" }); } adatMezo = new[] { "OSSZES_MULASZTASOK_SZAMA" }; var retDimOsszesHianyzas = AddDataTablePivotTable(worksheet, 2, retDimErtekeles[1] + retDimFeljegyzes[1] + 5, CreateDataTable(osszesHianyzasHeaderDtCreatorArray), hianyzaskesespercFilter.ToArray(), "mulasztas_name", tanuloDt, new[] { "C_TANULOID" }, null, mulasztasDt, IntegerStyleBottomBordered, HeaderStyle90BottomBordered, HeaderStyleBottomBordered, adatMezo, null, null, null, null, new[] { "SUM" }, null, new[] { IntegerBoldStyleBottomBordered }); adatMezo = new[] { "MULASZTASOK_SZAMA" }; var retDimHianyzas = AddDataTablePivotTable(worksheet, 2, retDimErtekeles[1] + retDimFeljegyzes[1] + retDimOsszesHianyzas[1] + 5, CreateDataTable(hianyzasHeaderDtCreatorArray), hianyzaskesespercFilter.ToArray(), "mulasztas_name", tanuloDt, new[] { "C_TANULOID" }, null, mulasztasDt, IntegerStyleBottomBordered, HeaderStyle90BottomBordered, HeaderStyleBottomBordered, adatMezo, null, null, null, null, new[] { "SUM" }, null, new[] { IntegerBoldStyleBottomBordered }); adatMezo = new[] { "KESESPERC" }; var retDimKesesperc = AddDataTablePivotTable(worksheet, 2, retDimErtekeles[1] + retDimFeljegyzes[1] + retDimOsszesHianyzas[1] + retDimHianyzas[1] + 5, CreateDataTable(kesespercHeaderDtCreatorArray), hianyzaskesespercFilter.ToArray(), "mulasztas_name", tanuloDt, new[] { "C_TANULOID" }, null, mulasztasDt, IntegerStyleBottomBordered, HeaderStyle90BottomBordered, HeaderStyleBottomBordered, adatMezo, null, null, null, null, new[] { "SUM" }, null, new[] { IntegerBoldStyleBottomBordered }); adatMezo = new[] { "MULASZTASOK_SZAMA" }; var retDimKesesHianyzas = AddDataTablePivotTable(worksheet, 2, retDimErtekeles[1] + retDimFeljegyzes[1] + retDimOsszesHianyzas[1] + retDimHianyzas[1] + retDimKesesperc[1] + 5, CreateDataTable(keseshianyzasHeaderDtCreatorArray), keseshianyzasFilter.ToArray(), "mulasztas_name", tanuloDt, new[] { "C_TANULOID" }, null, mulasztasSumDt, IntegerStyleBottomBordered, HeaderStyle90BottomBordered, HeaderStyleBottomBordered, adatMezo, null, null, null, null, new[] { "SUM" }, null, new[] { IntegerBoldStyleBottomBordered }); adatMezo = new[] { "HOZOTTMULASZTASOK_SZAMA" }; var retDimHozottMulasztas = AddDataTablePivotTable(worksheet, 2, retDimErtekeles[1] + retDimFeljegyzes[1] + retDimOsszesHianyzas[1] + retDimHianyzas[1] + retDimKesesperc[1] + 5 + retDimKesesHianyzas[1], CreateDataTable(hozotthianyzasHeaderDtCreatorArray), hianyzaskesespercFilter.ToArray(), "mulasztas_name", tanuloDt, new[] { "C_TANULOID" }, null, mulasztasDt, IntegerStyleBottomBordered, HeaderStyle90BottomBordered, HeaderStyleBottomBordered, adatMezo, null, null, null, null, new[] { "SUM" }, null, new[] { IntegerBoldStyleBottomBordered }); adatMezo = new[] { "FELDOLGOZATLANOK_SZAMA" }; AddDataTablePivotTable(worksheet, 2, retDimErtekeles[1] + retDimFeljegyzes[1] + retDimOsszesHianyzas[1] + retDimHianyzas[1] + retDimKesesperc[1] + 5 + retDimKesesHianyzas[1] + retDimHozottMulasztas[1], CreateDataTable(feldolgozatlanHeaderDtCreatorArray), hianyzaskesespercFilter.ToArray(), "mulasztas_name", tanuloDt, new[] { "C_TANULOID" }, null, mulasztasDt, IntegerStyleBottomBordered, HeaderStyle90BottomBordered, HeaderStyleBottomBordered, adatMezo, null, null, null, null, new[] { "SUM" }, null, new[] { IntegerBoldStyleBottomBordered }); } } }