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); }
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); }
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); }