public void ReadExcelData(IExcelDataReader reader, bool isFromComputer) { int ok = -1; try { StructureExcel.MaxAge = 0; StructureExcel.PopulationYear2.Clear(); StructureExcel.PopulationYear3.Clear(); StructureExcel.PopulationAverage.Clear(); StructureExcel.MortalitysFirstYear.Clear(); StructureExcel.MortalitysSecondYear.Clear(); StructureExcel.MortalitysThirdYear.Clear(); while (reader.Read()) { ok++; if (ok == 0) { } else { int[] values = new int[11]; Console.Write(reader.GetDouble(1) + " "); StructureExcel.PopulationYear2.Add(values[0] = (int)reader.GetDouble(1)); StructureExcel.PopulationYear3.Add(values[1] = (int)reader.GetDouble(2)); StructureExcel.MortalitysFirstYear.Add(values[2] = (int)reader.GetDouble(3)); StructureExcel.MortalitysSecondYear.Add(values[3] = (int)reader.GetDouble(4)); StructureExcel.MortalitysThirdYear.Add(values[4] = (int)reader.GetDouble(5)); Console.Write(reader.GetDouble(2) + " "); Console.Write(reader.GetDouble(3) + " "); Console.Write(reader.GetDouble(4) + " "); Console.Write(reader.GetDouble(5) + " "); Console.WriteLine(); if (ok == 1 && reader.FieldCount == 10) { StructureExcel.NewBorns[0] = values[5] = (int)reader.GetDouble(6); StructureExcel.NewBorns[1] = values[6] = (int)reader.GetDouble(7); StructureExcel.NewBorns[2] = values[7] = (int)reader.GetDouble(8); StructureExcel.NewBorns[3] = values[8] = (int)reader.GetDouble(9); Console.WriteLine("New borns10 "); Console.WriteLine(StructureExcel.NewBorns[0]); Console.WriteLine(StructureExcel.NewBorns[1]); Console.WriteLine(StructureExcel.NewBorns[2]); Console.WriteLine(StructureExcel.NewBorns[3]); } else if (ok == 1 && reader.FieldCount == 9) { StructureExcel.NewBorns[0] = values[5] = (int)reader.GetDouble(6); StructureExcel.NewBorns[1] = values[6] = (int)reader.GetDouble(7); StructureExcel.NewBorns[2] = values[7] = (int)reader.GetDouble(8); StructureExcel.NewBorns[3] = 0; Console.WriteLine("New borns9 "); Console.WriteLine(StructureExcel.NewBorns[0]); Console.WriteLine(StructureExcel.NewBorns[1]); Console.WriteLine(StructureExcel.NewBorns[2]); Console.WriteLine(StructureExcel.NewBorns[3]); } else if (ok == 1) { throw new Exception(); } for (int i = 0; i < 11; i++) { if (values[i] < 0) { throw new ExceptionMissingValue(); } } } } Console.WriteLine(ok); if (ok != 101) { throw new Exception(); } StructureExcel.setPopulationAverage(); StructureExcel.MaxAge = ok - 1; status = true; } catch (ExceptionMissingValue ex) { status = false; MessageBox.Show("Fisierul contine valori lipsa si nu s-a putut incarca!\r\nAcest lucru s-a produs automat datorita datelor lipsa\r\nCorectati valorile negative cu valori aproximate.", "Eroare", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (Exception ex) { status = false; if (isFromComputer) { MessageBox.Show("Fisierul nu are formatul corect!", "Eroare", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { MessageBox.Show("Fisierul nu are formatul corect! Corectati valorile lipsa!", "Eroare", MessageBoxButtons.OK, MessageBoxIcon.Error); } } //6. Free resources (IExcelDataReader is IDisposable) reader.Close(); }
public void getExcelData() { using (OpenFileDialog ofd = new OpenFileDialog() { Filter = "Excel Workbook 97-2003|*.xls| Excel Workbook|*.xlsx" }) { if (ofd.ShowDialog() == DialogResult.OK) { FileStream fs = File.Open(ofd.FileName, FileMode.Open, FileAccess.Read); fileName = ofd.SafeFileName; IExcelDataReader reader; if (ofd.FilterIndex == 1) { reader = ExcelReaderFactory.CreateBinaryReader(fs); } else { reader = ExcelReaderFactory.CreateOpenXmlReader(fs); } // reader.IsFirstRowAsColumnNames = true; /* DataSet result = reader.AsDataSet(new ExcelDataSetConfiguration() * { * ConfigureDataTable = (_) => new ExcelDataTableConfiguration() * { * UseHeaderRow = true * } * });*/ int ok = -1; try { StructureExcel.MaxAge = 0; StructureExcel.PopulationYear2.Clear(); StructureExcel.PopulationYear3.Clear(); StructureExcel.PopulationAverage.Clear(); StructureExcel.MortalitysFirstYear.Clear(); StructureExcel.MortalitysSecondYear.Clear(); StructureExcel.MortalitysThirdYear.Clear(); while (reader.Read()) { ok++; if (ok == 0) { } else { Console.Write(reader.GetDouble(1) + " "); StructureExcel.PopulationYear2.Add((int)reader.GetDouble(1)); StructureExcel.PopulationYear3.Add((int)reader.GetDouble(2)); StructureExcel.MortalitysFirstYear.Add((int)reader.GetDouble(3)); StructureExcel.MortalitysSecondYear.Add((int)reader.GetDouble(4)); StructureExcel.MortalitysThirdYear.Add((int)reader.GetDouble(5)); Console.Write(reader.GetDouble(2) + " "); Console.Write(reader.GetDouble(3) + " "); Console.Write(reader.GetDouble(4) + " "); Console.Write(reader.GetDouble(5) + " "); Console.WriteLine(); if (ok == 1 && reader.FieldCount == 10) { StructureExcel.NewBorns[0] = (int)reader.GetDouble(6); StructureExcel.NewBorns[1] = (int)reader.GetDouble(7); StructureExcel.NewBorns[2] = (int)reader.GetDouble(8); StructureExcel.NewBorns[3] = (int)reader.GetDouble(9); Console.WriteLine("New borns10 "); Console.WriteLine(StructureExcel.NewBorns[0]); Console.WriteLine(StructureExcel.NewBorns[1]); Console.WriteLine(StructureExcel.NewBorns[2]); Console.WriteLine(StructureExcel.NewBorns[3]); } else if (ok == 1 && reader.FieldCount == 9) { StructureExcel.NewBorns[0] = (int)reader.GetDouble(6); StructureExcel.NewBorns[1] = (int)reader.GetDouble(7); StructureExcel.NewBorns[2] = (int)reader.GetDouble(8); StructureExcel.NewBorns[3] = 0; Console.WriteLine("New borns9 "); Console.WriteLine(StructureExcel.NewBorns[0]); Console.WriteLine(StructureExcel.NewBorns[1]); Console.WriteLine(StructureExcel.NewBorns[2]); Console.WriteLine(StructureExcel.NewBorns[3]); } else if (ok == 1) { throw new Exception(); } } } Console.WriteLine(ok); StructureExcel.setPopulationAverage(); StructureExcel.MaxAge = ok - 1; status = true; } catch (Exception ex) { MessageBox.Show("Fisierul nu are formatul corect", "Eroare", MessageBoxButtons.OK, MessageBoxIcon.Error); status = false; } //6. Free resources (IExcelDataReader is IDisposable) reader.Close(); } } }