static async void ProcesarDatos() { // await Task.Delay(100); var ruta = string.Empty; var hoja = string.Empty; var listaArchivosProcesar = Archivo.ObtenerRutasArchivosProcesar(); foreach (var item in listaArchivosProcesar) { var task = LeerArchivo(item.Path, item.Sheet); var task2 = ConvertirListaToDataTable(task.Result); var task3 = GuardarArchivo(task2.Result); } //} }
static async Task <List <Archivo> > ProcesarArchivos() { await Task.Delay(1); var path = @"E:\Documentacion\Mapas\Requerimientos\Tarifas\Archivos Prueba\ANGELA MORENO"; var ruta = string.Empty; var lArchivosExcel = new List <string>(); if (path.Contains("ANGELA")) { lArchivosExcel = Directory.GetFiles(path, "*.xls*", SearchOption.AllDirectories).ToList(); } else { lArchivosExcel = Directory.GetFiles(path, "PAR*.xls*", SearchOption.AllDirectories).ToList(); } var xlAPP = new Microsoft.Office.Interop.Excel.Application(); var lHojasExcel = new List <Archivo>(); string hoja = string.Empty; ListaArchivosProcesar = new List <Archivo>(); try { var inicio = DateTime.Now; foreach (var item in lArchivosExcel) { var xlWbk = xlAPP.Workbooks.Open(item); Procesado = false; foreach (Microsoft.Office.Interop.Excel.Worksheet sheet in xlWbk.Worksheets) { var archivoExcel = new Archivo(); archivoExcel.Path = item; archivoExcel.Sheet = sheet.Name; try { if (item.Contains(sheet.Name) || sheet.Name.StartsWith("TARIFAS")) { lHojasExcel.Add(archivoExcel); ListaArchivosProcesar.Add(archivoExcel); Procesado = true; xlWbk.Close(); break; } } catch (IOException ioex) { Console.WriteLine(ioex.Message); } catch (Exception ex) { Console.WriteLine(ex.Message); } } if (Procesado == false) { var m_Sb = new StringBuilder(); var logError = ConfigurationManager.AppSettings["RutaLogError"]; if (!File.Exists(logError)) { var line = m_Sb.ToString() + " " + "Carpeta:" + item + Environment.NewLine; File.WriteAllText(logError, line); } else { FileInfo fi = new FileInfo(logError); File.AppendAllText(fi.FullName, m_Sb.ToString() + " " + "Carpeta:" + item + Environment.NewLine); } xlWbk.Close(); } } var fin = DateTime.Now; TimeSpan diff = fin - inicio; Console.WriteLine("Inicio= {0} - Fin= {1} - Diferencia= {2}:{3}:{4}.{5},{6}", inicio.ToString("yyyy/MM/dd HH:mm:ss.fffffff"), fin.ToString("yyyy/MM/dd HH:mm:ss.fffffff"), diff.Hours, diff.Minutes, diff.Seconds, diff.Milliseconds, diff.Milliseconds); } catch (Exception ex) { Console.WriteLine(ex.Message); } //xlAPP.Quit(); return(ListaArchivosProcesar); }