Пример #1
0
        public override ResultadoLectura Leer(string archivo, ParametrosLectura param)
        {
            ResultadoLectura resultado = new ResultadoLectura();
            DataTable        tabla     = new CreadorTablaLectura().CrearTabla();
            StreamReader     reader    = new StreamReader(archivo);

            for (int i = 0; i < 1; i++)
            {
                reader.ReadLine();
            }

            while (!reader.EndOfStream)
            {
                string linea = reader.ReadLine();
                Procesar(param, tabla, linea, resultado);
            }

            reader.Close();
            resultado.Tabla = tabla;
            return(resultado);
        }
Пример #2
0
        public override ResultadoLectura Leer(string archivo, ParametrosLectura param)
        {
            ResultadoLectura resultado = new ResultadoLectura();
            DataTable        tabla     = new CreadorTablaLectura().CrearTabla();
            StreamReader     reader    = new StreamReader(archivo);

            try
            {
                for (int i = 0; i < 1; i++)
                {
                    reader.ReadLine();
                }

                while (!reader.EndOfStream)
                {
                    string linea = reader.ReadLine().Trim();
                    try
                    {
                        Procesar(param, tabla, linea, resultado);
                    }
                    catch (Exception)
                    {
                    }
                }
            }
            catch (Exception ex)
            {
                PistaMgr.Instance.Error("LecturaArchivos", ex);
            }
            finally
            {
                reader.Close();
            }

            resultado.Tabla = tabla;
            return(resultado);
        }
Пример #3
0
        public override ResultadoLectura Leer(string archivo, ParametrosLectura param)
        {
            ResultadoLectura resultado = new ResultadoLectura();
            int       hoja             = 1;
            int       filaInicio       = 3;
            DataTable tabla            = new CreadorTablaLectura().CrearTabla();

            Excel.Application xlApp;
            Excel.Workbook    xlWorkBook;
            Excel.Worksheet   xlWorkSheet;

            xlApp      = new Excel.ApplicationClass();
            xlWorkBook = xlApp.Workbooks.Open(archivo, 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true);

            xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(hoja);

            bool continuar = true;

            while (continuar)
            {
                if ((xlWorkSheet.Rows.Cells[filaInicio, 1] as Excel.Range).Value2 == null)
                {
                    continuar = false;
                }
                else
                {
                    DateTime        f1    = new DateTime(1900, 1, 1);
                    DateTime        fecha = f1.AddDays(-2 + (double)(xlWorkSheet.Rows.Cells[filaInicio, 1] as Excel.Range).Value2);
                    TimeSpan        hora  = fecha.TimeOfDay;
                    RegistroLectura reg   = RegistroLectura.GetRegistroLectura(fecha, hora);
                    resultado.Registros.Add(reg);
                    foreach (MC_RPuntoMedicionFormatoDetalle r in param.DetalleMagElec)
                    {
                        int numColumna = r.GetNumColumna();
                        if (numColumna >= 0)
                        {
                            DataRow row = tabla.NewRow();
                            row["Fecha"]       = reg.Fecha.Date; //fecha.Date;
                            row["Hora"]        = reg.Hora;       //hora;
                            row["Canal"]       = r.Canal;
                            row["CodInfCanal"] = r.FkCodMagnitudElec;
                            row["Valor"]       = (double)(xlWorkSheet.Rows.Cells[filaInicio, numColumna + 1] as Excel.Range).Value2;
                            tabla.Rows.Add(row);

                            reg.AdicionarItem(r.FkCodMagnitudElec, (double)row["Valor"]);
                            reg.AdicionarRow(row);
                        }
                    }
                    filaInicio++;
                }
            }

            DestructorObjetosExcel.ReleaseObject(xlWorkSheet);

            xlWorkBook.Close(true, null, null);
            xlApp.Quit();

            DestructorObjetosExcel.ReleaseObject(xlWorkBook);
            DestructorObjetosExcel.ReleaseObject(xlApp);
            resultado.Tabla = tabla;
            return(resultado);
        }