public bool TanuloAdatBetoltes(string sorszam, string excelHelye) { bool sikerült = false; if (sorszam == "" || sorszam == null) { MessageBox.Show("Írj be nevet vagy sorszámot", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(sikerült); } if (excelHelye == "" || excelHelye == null) { MessageBox.Show("Válaszd ki az olvasni kívánt excel fájlt!", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(sikerült); } dataGridView1.Rows.Clear(); dataGridView1.Refresh(); bool elso = true; FileMethods.FajlOlvasas(); List <string> adatTipusok = new List <string>(); List <string> kivalasztott = new List <string>(); string megjegyzes = ""; List <string> sorszamok = new List <string>(); if (Properties.Settings.Default.ExcelFajlHelye != null && sorszam != 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)) { for (int i = 0; i <= (Convert.ToInt32(sorszam)); i++) { string sor = Olvas.ReadLine(); if (sor == null) { MessageBox.Show("Üres a fájl", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); Visible = false; return(sikerült); } if (elso == true) { string[] Sorelemek = sor.Split(';'); for (int j = 0; j < (Sorelemek.Length); j++) { adatTipusok.Add(Sorelemek[j]); elso = false; } } if (i == Convert.ToInt32(sorszam)) { string[] Sorelemek = sor.Split(';'); for (int j = 0; j < (Sorelemek.Length); j++) { kivalasztott.Add(Sorelemek[j].Replace("0:00:00", "")); } megjegyzes = Sorelemek.Last(); } } } else if (!GeneralMethods.IsDigitOnly(sorszam)) { int count = 0; string nev = sorszam.ToLower().Trim(); while (!Olvas.EndOfStream) { string sor = Olvas.ReadLine(); string[] Sorelemek = sor.Split(';'); string nev2 = Sorelemek[1].ToLower().Replace("0:00:00", ""); if (sor == null) { MessageBox.Show("Üres a fájl", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); Visible = false; return(sikerült); } if (elso == true) { for (int j = 0; j < (Sorelemek.Length); j++) { adatTipusok.Add(Sorelemek[j]); elso = false; } } if (!Properties.Settings.Default.ekezetek) { nev = GeneralMethods.RemoveDiacritics(nev); nev2 = GeneralMethods.RemoveDiacritics(nev2); } if (!Properties.Settings.Default.szokoz) { 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]); for (int j = 0; j < (Sorelemek.Length); j++) { kivalasztott.Add(Sorelemek[j]); } megjegyzes = Sorelemek.Last(); count++; } } if (count > 1) { string sorString = String.Join(", ", sorszamok.ToArray()); string uzenet = "Több ilyen nevű tanuló is van! Használd a sorszámát.(Azonos nevűek sorszáma: " + sorString + ")"; MessageBox.Show(uzenet, "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); Visible = false; return(sikerült); } 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); Visible = false; return(sikerült); } } } fs.Close(); fs.Dispose(); } catch (Exception) { MessageBox.Show("Nem található a kiválasztott fájl.", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); Visible = false; return(sikerült); } mentes.Visible = false; } else 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; int totalRows = xlRange.Rows.Count; 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]); } } if (GeneralMethods.IsDigitOnly(sorszam)) { int szam = Convert.ToInt32(sorszam) + 1; kivSor = szam; 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.Replace("0:00:00", "")); } string[] Sorelemek = sb.ToString().Split('đ'); for (int j = 1; j < Sorelemek.Length; j++) { kivalasztott.Add(Sorelemek[j]); } megjegyzes = Sorelemek[Sorelemek.Length - 2]; } if (!GeneralMethods.IsDigitOnly(sorszam)) { int count = 0; string nev = sorszam.ToLower().Trim(); for (int Row = 1; Row <= totalRows + 1; Row++) { string nev2 = Convert.ToString(xlWorksheet.Cells[Row, 2].Text); if (nev2 == null) { nev2 = ""; } nev2 = nev2.ToLower(); if (!Properties.Settings.Default.ekezetek) { nev = GeneralMethods.RemoveDiacritics(nev); nev2 = GeneralMethods.RemoveDiacritics(nev2); } if (!Properties.Settings.Default.szokoz) { 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) { kivSor = Row; var sb = new StringBuilder(); for (int ColumnNum = 1; ColumnNum <= totalColumns + 1; ColumnNum++) //select starting row here { string nextData = Convert.ToString(xlWorksheet.Cells[Row, ColumnNum].Text); if (nextData == null) { nextData = ""; } sb.Append("đ"); sb.Append(nextData.Replace("0:00:00", "")); } string[] Sorelemek = sb.ToString().Split('đ'); count++; sorszamok.Add(Convert.ToString(xlWorksheet.Cells[Row, 1].Text)); for (int j = 1; j < Sorelemek.Length; j++) { kivalasztott.Add(Sorelemek[j]); } megjegyzes = Sorelemek[Sorelemek.Length - 2]; } } if (count > 1) { string sorString = String.Join(", ", sorszamok.ToArray()); string uzenet = "Több ilyen nevű tanuló is van! Használd a sorszámát.(Azonos nevűek sorszáma: " + sorString + ")"; MessageBox.Show(uzenet, "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); FileMethods.DisposeExcelInstance(xlWorkbook, xlWorksheet); Visible = false; return(sikerült); } 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); Visible = false; return(sikerült); } } mentes.Visible = true; FileMethods.DisposeExcelInstance(xlWorkbook, xlWorksheet); } if (adatTipusok.Count > kivalasztott.Count) { int kulonbseg = adatTipusok.Count - kivalasztott.Count; for (int j = 0; j < kulonbseg; j++) { kivalasztott.Add(""); } } megjegyzesek.Text = megjegyzes; for (int i = 0; i < adatTipusok.Count - 2; i++) { var index = dataGridView1.Rows.Add(); dataGridView1.Rows[index].Cells[0].Value = adatTipusok[i]; dataGridView1.Rows[index].Cells[1].Value = kivalasztott[i]; } try { 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; } catch { MessageBox.Show("Üres a fájl!", "Figyelmeztetés", MessageBoxButtons.OK, MessageBoxIcon.Warning); Visible = false; return(sikerült); } } sikerült = true; BringToFront(); Show(); return(sikerült); }
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; }