Example #1
0
        public string convertirDBFtoText(string rutaArchivo, string nombreTabla)
        {
            string aux = string.Empty;

            DbfDataReader.DbfTable  tabla = new DbfDataReader.DbfTable(rutaArchivo);
            DbfDataReader.DbfRecord filas = new DbfDataReader.DbfRecord(tabla);
            string[] tipos    = new string[tabla.Columns.Count];
            int      contador = 0;

            foreach (var dbfColumn in tabla.Columns)
            {
                string tipo = Convert.ToString(dbfColumn.ColumnType);
                tipos[contador] = tipo;
                contador++;
            }
            while (tabla.Read(filas))
            {
                contador = 0;
                aux     += string.Format("INSERT INTO {0} VALUES(", nombreTabla);
                foreach (var dbfValue in filas.Values)
                {
                    var stringValue = dbfValue.ToString();
                    var obj         = dbfValue.GetValue();
                    obj  = (string.IsNullOrWhiteSpace(Convert.ToString(obj)) && tipos[contador].Equals("Number") ? "null" : obj);
                    aux += string.Format((tipos[contador].Equals("Number"))?"{0}":"'{0}'", obj).Replace(" 12:00:00 a. m.", "");
                    aux += ",";
                    contador++;
                }
                aux  = aux.Substring(0, aux.Length - 1);
                aux += ");\n";
            }
            return(aux);
        }
Example #2
0
        public static List <Dictionary <string, object> > leerDbf2(string ruta, bool verTipo)
        {
            DbfDataReader.DbfTable tabla = new DbfDataReader.DbfTable(ruta);

            DbfDataReader.DbfRecord             filas = new DbfDataReader.DbfRecord(tabla);
            List <Dictionary <string, object> > lista = new List <Dictionary <string, object> >();

            string[] tipos          = new string[tabla.Columns.Count];
            string[] nombreColumnas = new string[tabla.Columns.Count];
            int      contador       = 0;

            foreach (var dbfColumn in tabla.Columns)
            {
                string tipo          = Convert.ToString(dbfColumn.ColumnType);
                string nombreColumna = Convert.ToString(dbfColumn.Name).ToLower();
                tipos[contador]          = tipo;
                nombreColumnas[contador] = nombreColumna;
                contador++;
            }
            int aux = 0;

            while (tabla.Read(filas))
            {
                contador = 0;
                Dictionary <string, object> diccionario = new Dictionary <string, object>();
                foreach (var dbfValue in filas.Values)
                {
                    string obj = Convert.ToString(dbfValue.GetValue()).Replace(" 12:00:00 a. m.", "");
                    obj = (string.IsNullOrWhiteSpace(Convert.ToString(obj)) && tipos[contador].Equals("Number") ? "0" : obj);
                    if (verTipo)
                    {
                        obj = obj + "|" + ((tipos[contador].Equals("Number")) ? "N" : "C");
                    }

                    diccionario.Add(nombreColumnas[contador], obj);
                    contador++;
                }
                if (aux == 330)
                {
                }
                lista.Add(diccionario);
                aux++;
                System.Diagnostics.Debug.WriteLine(aux);
            }
            tabla.Close();
            return(lista);
        }
Example #3
0
        public string convertirDBFtoText(string rutaArchivo, string nombreTabla)
        {
            DbfDataReader.DbfTable  tabla    = new DbfDataReader.DbfTable(rutaArchivo);
            DbfDataReader.DbfRecord filas    = new DbfDataReader.DbfRecord(tabla);
            StreamWriter            escribir = new StreamWriter(@"C:\Users\samv\Documents\Embarcadero\reporte.txt");

            escribir.NewLine = "\r\n";
            escribir.WriteLine("          SECRETARIA DE ADMINISTRACION                                                                                                                         OFICINA DE PENSIONES");
            escribir.NewLine = "\r\n";
            escribir.WriteLine("          NOMINA DE DIA DE LAS MADRES CORRESPONDIENTE AL EJERCICIO 2018");
            escribir.NewLine = "\r\n";
            escribir.WriteLine("          CLAVE PRESUPUESTAL:80100114301000001411135AEAAA0118                                                                                                              PAG:   1");
            escribir.NewLine = "\r\n";
            escribir.WriteLine("          -------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
            escribir.NewLine = "\r\n";
            escribir.WriteLine("          R.F.C.       N O M B R E                             CATEG.NIV.//CVE.EMPL.");
            escribir.NewLine = "\r\n";
            escribir.WriteLine("                                                                    PERCEPCIONES                           DEDUCCIONES           LIQUIDO          F I R M A");
            escribir.NewLine = "\r\n";
            escribir.WriteLine("          -------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
            escribir.NewLine = "\r\n";
            escribir.WriteLine("-");


            int    contador  = 0;
            string temporal  = string.Empty;
            int    contador2 = 0;
            int    numero    = 7;
            int    pagina    = 2;

            while (tabla.Read(filas))
            {
                contador = 0;
                foreach (var dbfValue in filas.Values)
                {
                    if (contador == 0)
                    {
                        var    stringValue = dbfValue.ToString();
                        string obj         = (string)dbfValue.GetValue();

                        temporal = "          " + obj + "   ";
                    }
                    if (contador == 1)
                    {
                        var    stringValue = dbfValue.ToString();
                        string obj         = (string)dbfValue.GetValue();

                        temporal += obj + "                  ";
                    }
                    if (contador == 2)
                    {
                        var    stringValue = dbfValue.ToString();
                        string obj         = (string)dbfValue.GetValue();

                        temporal += obj;
                        escribir.WriteLine(temporal);
                        escribir.NewLine = "\r\n";
                        escribir.WriteLine("                                                                     2S0101A-01A");
                        escribir.NewLine = "\r\n";
                        escribir.WriteLine("                                              106 80100114301000001411135AEAAA0118    ESTIMULO DIA DE LAS MA   810.00");
                        escribir.NewLine = "\r\n";
                        escribir.WriteLine("                                                                                                    ---------                   ---------               _________");
                        escribir.NewLine = "\r\n";
                        escribir.WriteLine("                                                                                                       810.00                        0.00                  810.00    ______________");
                        escribir.NewLine = "\r\n";
                        escribir.WriteLine("-");
                        escribir.NewLine = "\r\n";
                        escribir.WriteLine("-");
                        escribir.NewLine = "\r\n";
                        escribir.WriteLine("-");
                    }
                    contador++;
                }
                temporal = "";
                contador2++;
                if (contador2 == numero)
                {
                    numero          += 7;
                    escribir.NewLine = "\r\n";
                    escribir.WriteLine("-");
                    escribir.NewLine = "\r\n";
                    escribir.WriteLine("-");
                    escribir.NewLine = "\r\n";
                    escribir.WriteLine("          SECRETARIA DE ADMINISTRACION                                                                                                                         OFICINA DE PENSIONES");
                    escribir.NewLine = "\r\n";
                    escribir.WriteLine("          NOMINA DE DIA DE LAS MADRES CORRESPONDIENTE AL EJERCICIO 2018");
                    escribir.NewLine = "\r\n";
                    escribir.WriteLine("          CLAVE PRESUPUESTAL:80100114301000001411135AEAAA0118                                                                                                              PAG:   " + pagina);
                    escribir.NewLine = "\r\n";
                    escribir.WriteLine("          -------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
                    escribir.NewLine = "\r\n";
                    escribir.WriteLine("          R.F.C.       N O M B R E                             CATEG.NIV.//CVE.EMPL.");
                    escribir.NewLine = "\r\n";
                    escribir.WriteLine("                                                                    PERCEPCIONES                           DEDUCCIONES           LIQUIDO          F I R M A");
                    escribir.NewLine = "\r\n";
                    escribir.WriteLine("          -------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
                    escribir.NewLine = "\r\n";
                    escribir.WriteLine("-");


                    pagina++;
                }
            }
            escribir.Close();
            return(temporal);
        }