private void Torles_Click(object sender, EventArgs e) { if (Path.GetExtension(Properties.Settings.Default.ExcelFajlHelye) == ".csv") { MessageBox.Show("Csak .xlsx és .xlsm fájllal működik!", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (FileMethods.IsExcelComptaible(Properties.Settings.Default.ExcelFajlHelye)) { if (FileMethods.IsFileLocked(Properties.Settings.Default.ExcelFajlHelye) == false) { torlesFolyamatban.Visible = true; torlesFolyamatban.BringToFront(); Excel.Workbook xlWorkbook = xlWorkbooks.Open(Properties.Settings.Default.ExcelFajlHelye); Excel.Worksheet xlWorksheet = xlWorkbook.Sheets[Properties.Settings.Default.oldalszam + 1]; Excel.Range xlRange = xlWorksheet.UsedRange; int totalRows = ExcelApp.GetMinimalUsedRangeAddress(xlWorksheet); int totalColumns = xlRange.Columns.Count; int szam = kivSor; Excel.Range delRange = xlWorksheet.Rows[szam]; delRange.EntireRow.Delete(Type.Missing); for (int i = szam; i < totalRows; i++) { xlWorksheet.Cells[i, 1].Value = i - 1; } string megjegyzes = (megjegyzesek.Text); xlWorksheet.Cells[szam, totalColumns].Value = megjegyzes; try { xlWorkbook.Save(); } catch { MessageBox.Show("Nem sikerült a mentés! Ellenőrizze hogy be van-e zárva a fájl.", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); } FileMethods.DisposeExcelInstance(xlWorkbook, xlWorksheet); torlesFolyamatban.Visible = false; this.Hide(); } else { MessageBox.Show("Nem elérhető a fájl. Zárja be a szerkesztés miatt!", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } }
public Form1() { InitializeComponent(); ExcelPackage.LicenseContext = OfficeOpenXml.LicenseContext.NonCommercial; xlApp = new ExcelApp(); Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(Properties.Settings.Default.nyelv); statisztika1.Books(xlApp.XlWorkbooks); tanuloAdatok1.Books(xlApp.XlWorkbooks); xlWorkbooks = xlApp.XlWorkbooks; MouseDown += label6_MouseDown; //Properties.Settings.Default.Reset(); setDefault(); }
public bool UjTanulo(string excelHelye) { if (excelHelye == "" || excelHelye == null) { MessageBox.Show("Válaszd ki az olvasni kívánt excel fájlt!", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } int totalRows = 1; megjegyzesek.Text = ""; List <string> adatTipusok = new List <string>(); if (FileMethods.IsExcelComptaible(Properties.Settings.Default.ExcelFajlHelye)) { FileMethods.FajlOlvasas(); bool szabadE = FileMethods.IsFileLocked(Properties.Settings.Default.ExcelFajlHelye); if (szabadE == true) { MessageBox.Show("Nem elérhető a fájl. Zárja be a szerkesztés miatt!", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } Excel._Workbook xlWorkbook = xlWorkbooks.Open(Properties.Settings.Default.ExcelFajlMasolata); Excel.Worksheet xlWorksheet = xlWorkbook.Sheets[Properties.Settings.Default.oldalszam + 1]; Excel.Range xlRange = xlWorksheet.UsedRange; totalRows = ExcelApp.GetMinimalUsedRangeAddress(xlWorksheet); int totalColumns = xlRange.Columns.Count; kivSor = totalRows + 1; int szam = 1; var sb = new StringBuilder(); for (int ColumnNum = 1; ColumnNum <= totalColumns + 1; ColumnNum++) { string row = Convert.ToString(xlWorksheet.Cells[szam, ColumnNum].Text); if (row == null) { row = ""; } sb.Append("đ"); sb.Append(row); } FileMethods.DisposeExcelInstance(xlWorkbook, xlWorksheet); string[] Sorelemek = sb.ToString().Split('đ'); for (int j = 1; j < Sorelemek.Length; j++) { adatTipusok.Add(Sorelemek[j]); } } else { MessageBox.Show("Csak .xlsx, vagy .xlsm fájlnál működik a funkció!", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } dataGridView1.Rows.Clear(); for (int i = 0; i < adatTipusok.Count - 2; i++) { var index = dataGridView1.Rows.Add(); dataGridView1.Rows[index].Cells[0].Value = adatTipusok[i]; } try { dataGridView1.Rows[0].Cells[1].Value = totalRows; } catch { MessageBox.Show("Semmilyen adattípus nincs megadva a táblázatban!", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); Visible = false; return(false); } if (Properties.Settings.Default.ujTanuloIdo) { string ido = DateTime.Now.ToString("MM/dd/yyyy"); string ev = ido.Substring(8, 4) + "."; string honap = ido.Substring(0, 2) + "."; string nap = ido.Substring(4, 2) + "."; megjegyzesek.Text = ("Hozzáadás dátuma: " + ev + honap + nap); } dataGridView1.Rows[0].ReadOnly = true; dataGridView1.Columns[0].ReadOnly = true; dataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.FromArgb(224, 224, 224); dataGridView1.Rows[0].DefaultCellStyle.SelectionBackColor = Color.FromArgb(224, 224, 224); dataGridView1.Rows[0].DefaultCellStyle.SelectionForeColor = Color.Black; Application.DoEvents(); BringToFront(); Show(); return(true); }
private void Szerkesztes_Click(object sender, EventArgs e) { if (dataGridView1.Rows[1].Cells[1].Value == null || dataGridView1.Rows[1].Cells[1].Value.ToString() == "") { MessageBox.Show("Nem írt be nevet a tanulónak!", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } mentesFolyamatban.Visible = true; mentesFolyamatban.BringToFront(); if (FileMethods.IsExcelComptaible(Properties.Settings.Default.ExcelFajlHelye)) { if (FileMethods.IsFileLocked(Properties.Settings.Default.ExcelFajlHelye) == false) { Excel.Workbook xlWorkbook = xlWorkbooks.Open(Properties.Settings.Default.ExcelFajlHelye); Excel.Worksheet xlWorksheet = xlWorkbook.Sheets[Properties.Settings.Default.oldalszam + 1]; Excel.Range xlRange = xlWorksheet.UsedRange; int totalRows = ExcelApp.GetMinimalUsedRangeAddress(xlWorksheet); int totalColumns = xlRange.Columns.Count; string sorszam = dataGridView1.Rows[0].Cells[1].Value.ToString(); int szam = 0; try { szam = Convert.ToInt32(sorszam) + 1; } catch (Exception) { FileMethods.DisposeExcelInstance(xlWorkbook, xlWorksheet); MessageBox.Show("Hiba a sorszám olvasásnál!", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } int count = 0; szam = kivSor; while (count < dataGridView1.RowCount - 1) { string data; if (dataGridView1.Rows[count].Cells[1].Value == null) { data = ""; } else { data = (dataGridView1.Rows[count].Cells[1].Value.ToString()); } xlWorksheet.Cells[szam, count + 1].Value = data; count++; } xlWorksheet.Columns.RowHeight = 15; string megjegyzes = (megjegyzesek.Text); xlWorksheet.Cells[szam, totalColumns].Value = megjegyzes; try { xlWorkbook.Save(); } catch { MessageBox.Show("Nem sikerült a mentés! Ellenőrizze hogy be van-e zárva a fájl.", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); } FileMethods.DisposeExcelInstance(xlWorkbook, xlWorksheet); } else { MessageBox.Show("Nem elérhető a fájl. Zárja be a szerkesztés miatt!", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } mentesFolyamatban.Visible = false; }
private void valaszt_Click_1(object sender, EventArgs e) { FileMethods.FajlOlvasas(); if (SorSzam.Text == "" || SorSzam.Text == null) { MessageBox.Show("Írj be nevet vagy sorszámot", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (excelHelye.Text == "" || excelHelye.Text == null) { MessageBox.Show("Válaszd ki az olvasni kívánt excel fájlt!", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (mentesHelye.Text == "" || mentesHelye.Text == null) { MessageBox.Show("Válaszd ki a mentés helyét!", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } staticLoading.Visible = true; staticLoading.BringToFront(); string kivalasztott = ""; if (Properties.Settings.Default.ExcelFajlHelye != null && SorSzam.Text != null) { if (Path.GetExtension(Properties.Settings.Default.ExcelFajlHelye) == ".csv") { try { var fs = new FileStream(Properties.Settings.Default.ExcelFajlHelye, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); using (var Olvas = new StreamReader(fs, Encoding.Default)) { if (GeneralMethods.IsDigitOnly(SorSzam.Text)) { for (int i = 0; i <= (Convert.ToInt32(SorSzam.Text)); i++) { if (i == Convert.ToInt32(SorSzam.Text)) { string Sor = Olvas.ReadLine(); string[] Sorelemek = Sor.Split(';'); kivalasztott = Sorelemek[1]; } else { string nem = Olvas.ReadLine(); } } } if (!GeneralMethods.IsDigitOnly(SorSzam.Text)) { List <string> sorszamok = new List <string>(); var sorString = ""; string nev = SorSzam.Text.ToLower().Trim(); int count = 0; while (!Olvas.EndOfStream) { string sor = Olvas.ReadLine(); string[] Sorelemek = sor.Split(';'); string nev2 = Sorelemek[1].ToLower(); if (!ekezetek.Checked) { nev = GeneralMethods.RemoveDiacritics(nev); nev2 = GeneralMethods.RemoveDiacritics(nev2); } if (!szokoz.Checked) { nev = nev.Replace(" ", "").Replace("-", ""); nev2 = nev2.Replace(" ", "").Replace("-", ""); } nev = nev.Replace("dr.", ""); nev2 = nev2.Replace("dr.", ""); if (nev2.Contains("(")) { string[] ketNev = nev2.Split('('); nev2 = ketNev[0].Trim(); } if (nev == nev2) { sorszamok.Add(Sorelemek[0]); kivalasztott = Sorelemek[1]; count++; } } if (count > 1) { sorString = String.Join(", ", sorszamok.ToArray()); string uzenet = "Több ilyen nevű tanuló is van! Használd a sorszámát.\n(Azonos nevűek sorszáma: " + sorString + ")"; MessageBox.Show(uzenet, "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); kivalasztott = ""; } if (count == 0) { MessageBox.Show("Nincs találat az adott excel táblázatban. Ellenőrizd a beírt nevet!", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } } catch (Exception) { MessageBox.Show("Nem található a kiválasztott fájl.", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } if (FileMethods.IsExcelComptaible(Properties.Settings.Default.ExcelFajlHelye)) { string hely = Properties.Settings.Default.ExcelFajlMasolata; var xlWorkbook = xlWorkbooks.Open(Properties.Settings.Default.ExcelFajlMasolata); Excel.Worksheet xlWorksheet = xlWorkbook.Sheets[ExcelOldalNevek.SelectedIndex + 1]; Excel.Range xlRange = xlWorksheet.UsedRange; int totalRows = ExcelApp.GetMinimalUsedRangeAddress(xlWorksheet); int totalColumns = xlRange.Columns.Count; if (GeneralMethods.IsDigitOnly(SorSzam.Text)) { int szam = Convert.ToInt32(SorSzam.Text) + 1; kivalasztott = Convert.ToString(xlWorksheet.Cells[szam, 2].Text); } if (!GeneralMethods.IsDigitOnly(SorSzam.Text)) { List <string> sorszamok = new List <string>(); var sorString = ""; int count = 0; string nev = SorSzam.Text.ToLower().Trim(); for (int Row = 1; Row <= totalRows; Row++) { string nev2 = Convert.ToString(xlWorksheet.Cells[Row, 2].Text); if (nev2 == null) { nev2 = ""; } nev2 = nev2.ToLower(); if (!ekezetek.Checked) { nev = GeneralMethods.RemoveDiacritics(nev); nev2 = GeneralMethods.RemoveDiacritics(nev2); } if (!szokoz.Checked) { nev = nev.Replace(" ", "").Replace("-", ""); nev2 = nev2.Replace(" ", "").Replace("-", ""); } nev = nev.Replace("dr.", ""); nev2 = nev2.Replace("dr.", ""); if (nev2.Contains("(")) { string[] ketNev = nev2.Split('('); nev2 = ketNev[0].Trim(); } if (nev == nev2) { sorszamok.Add(Convert.ToString(xlWorksheet.Cells[Row, 1].Text)); kivalasztott = Convert.ToString(xlWorksheet.Cells[Row, 2].Text); count++; } } if (count > 1) { sorString = String.Join(", ", sorszamok.ToArray()); string uzenet = "Több ilyen nevű tanuló is van! Használd a sorszámát.\n(Azonos nevűek sorszáma: " + sorString + ")"; MessageBox.Show(uzenet, "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); kivalasztott = ""; } if (count == 0) { MessageBox.Show("Nincs találat. Ellenőrizd a beírt nevet!", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } FileMethods.DisposeExcelInstance(xlWorkbook, xlWorksheet); } } if (kivalasztott.Contains("(")) { string[] ketNev = kivalasztott.Split('('); kivalasztott = ketNev[0].Trim(); } if (kivalasztott == null || kivalasztott == "") { mentettFajlNeve.Text = "Nincs találat"; } else { mentettFajlNeve.Text = (kivalasztott).Replace(' ', '_'); } Application.DoEvents(); staticLoading.Visible = false; }
public void AdatokListazas(string excelHelye) { if (excelHelye == "" || excelHelye == null) { MessageBox.Show("Válaszd ki az olvasni kívánt excel fájlt!", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } dataGridView1.Rows.Clear(); dataGridView1.Refresh(); statisztikak.Rows.Clear(); statisztikak.Refresh(); bool elso = true; FileMethods.FajlOlvasas(); List <string> adatTipusok = new List <string>(); if (Properties.Settings.Default.ExcelFajlHelye != null) { if (Path.GetExtension(Properties.Settings.Default.ExcelFajlHelye) == ".csv") { try { var fs = new FileStream(Properties.Settings.Default.ExcelFajlHelye, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); using (var Olvas = new StreamReader(fs, Encoding.Default)) { { string sor = Olvas.ReadLine(); if (sor == null) { MessageBox.Show("Üres a fájl", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); this.Visible = false; return; } if (elso == true) { string[] Sorelemek = sor.Split(';'); for (int j = 0; j < (Sorelemek.Length); j++) { adatTipusok.Add(Sorelemek[j]); elso = false; } } } } } catch (Exception) { MessageBox.Show("Nem található a kiválasztott fájl.", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); this.Visible = false; return; } } else if (FileMethods.IsExcelComptaible(Properties.Settings.Default.ExcelFajlHelye)) { FileMethods.FajlOlvasas(); var xlWorkbook = xlWorkbooks.Open(Properties.Settings.Default.ExcelFajlMasolata); Excel.Worksheet xlWorksheet = xlWorkbook.Sheets[Properties.Settings.Default.oldalszam + 1]; Excel.Range xlRange = xlWorksheet.UsedRange; int totalRows = ExcelApp.GetMinimalUsedRangeAddress(xlWorksheet); int totalColumns = xlRange.Columns.Count; if (elso == true) { int szam = 1; var sb = new StringBuilder(); for (int ColumnNum = 1; ColumnNum <= totalColumns + 1; ColumnNum++) { string row = Convert.ToString(xlWorksheet.Cells[szam, ColumnNum].Text); if (row == null) { row = ""; } sb.Append("đ"); sb.Append(row); } string[] Sorelemek = sb.ToString().Split('đ'); for (int j = 1; j < Sorelemek.Length; j++) { adatTipusok.Add(Sorelemek[j]); //string test = Sorelemek[j]; } } FileMethods.DisposeExcelInstance(xlWorkbook, xlWorksheet); } for (int i = 0; i < adatTipusok.Count - 2; i++) { var index = dataGridView1.Rows.Add(); dataGridView1.Rows[index].Cells[0].Value = adatTipusok[i]; } if (dataGridView1.Rows.Count == 0) { MessageBox.Show("Üres a fájl!", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); this.Visible = false; return; } } this.BringToFront(); this.Show(); return; }
private void StatList_Click(object sender, EventArgs e) { if (dataGridView1.CurrentCell == null) { MessageBox.Show("Válassz adattípust!", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } staticLoading.BringToFront(); staticLoading.Show(); statList.Enabled = false; int index = dataGridView1.CurrentCell.RowIndex; adatTipus = Convert.ToString(dataGridView1.CurrentCell.Value); statisztikak.Rows.Clear(); dataGridView1.Refresh(); List <string> adatok = new List <string>(); List <double> db = new List <double>(); adatok.Add("Hiányos adat"); db.Add(0); double totalRows = 0; if (FileMethods.IsExcelComptaible(Properties.Settings.Default.ExcelFajlHelye)) { var xlWorkbook = xlWorkbooks.Open(Properties.Settings.Default.ExcelFajlMasolata); Excel.Worksheet xlWorksheet = xlWorkbook.Sheets[Properties.Settings.Default.oldalszam + 1]; Excel.Range xlRange = xlWorksheet.UsedRange; totalRows = ExcelApp.GetMinimalUsedRangeAddress(xlWorksheet); int totalColumns = xlRange.Columns.Count - 1; for (int i = 2; i < totalRows; i++) { bool vanE = false; string data = Convert.ToString(xlWorksheet.Cells[i, index + 1].Text); if (data == null || data == "") { db[0]++; continue; } for (int j = 0; j < adatok.Count; j++) { if (data == adatok[j]) { db[j]++; vanE = true; break; } } if (vanE == false) { adatok.Add(data); db.Add(1); } } totalRows--; FileMethods.DisposeExcelInstance(xlWorkbook, xlWorksheet); } if (Path.GetExtension(Properties.Settings.Default.ExcelFajlHelye) == ".csv") { StreamReader olvas = new StreamReader(Properties.Settings.Default.ExcelFajlHelye, Encoding.Default); string fejlec = olvas.ReadLine(); while (!olvas.EndOfStream) { totalRows++; string sor = olvas.ReadLine(); string[] sorelemek = sor.Split(';'); string data = sorelemek[index]; bool vanE = false; if (data == null || data == "") { db[0]++; continue; } for (int j = 0; j < adatok.Count; j++) { if (data == adatok[j]) { db[j]++; vanE = true; break; } } if (vanE == false) { adatok.Add(data); db.Add(1); } } } List <AdatDB> adatLista = new List <AdatDB>(); for (int i = 1; i < adatok.Count; i++) { adatLista.Add(new AdatDB(adatok[i], db[i])); } adatLista = adatLista.OrderByDescending(item => item.Db).ToList(); for (int i = 0; i < adatLista.Count; i++) { int row = statisztikak.Rows.Add(); statisztikak.Rows[row].Cells[0].Value = adatLista[i].Adat; statisztikak.Rows[row].Cells[1].Value = adatLista[i].Db; double szamitas = (adatLista[i].Db / totalRows) * 100d; double szazalek = Math.Round(szamitas, 2); statisztikak.Rows[row].Cells[2].Value = szazalek + "%"; } if (db[0] != 0) { int utolsoSor = statisztikak.Rows.Add(); statisztikak.Rows[utolsoSor].Cells[0].Value = adatok[0]; statisztikak.Rows[utolsoSor].Cells[1].Value = db[0]; double sz = (db[0] / totalRows) * 100d; double er = Math.Round(sz, 2); statisztikak.Rows[utolsoSor].Cells[2].Value = er + "%"; } statList.Enabled = true; staticLoading.Hide(); }