//public InformacoesPlan Extrair(List<FileInfo> arquivos, string dataReferencia) //{ // foreach (var item in arquivos) // { // using (ExcelPackage pck = new ExcelPackage(item)) // { // var numeroSheets = pck.Workbook.Worksheets.Select(x => x.Index).ToList(); // foreach (var sheets in numeroSheets) // { // var ws = pck.Workbook.Worksheets[sheets]; // ws.DeleteColumn(6); // AdicionaListaFinal(LerPlanilha("B4", "B", ws), ref tempo); // AdicionaListaFinal(LerPlanilha("C4", "C", ws), ref tipoCliente); // AdicionaListaFinal(LerPlanilha("D4", "D", ws), ref uF); // AdicionaListaFinal(LerPlanilha("E4", "E", ws), ref operadoraLd); // AdicionaListaFinal(LerPlanilha("F4", "F", ws), ref tarifa); // AdicionaListaFinal(LerPlanilha("G4", "G", ws), ref quantidade); // AdicionaListaFinal(LerPlanilha("H4", "H", ws), ref duracaoBonificada); // AdicionaListaFinal(LerPlanilha("I4", "I", ws), ref duracaoTarifadaMin); // AdicionaListaFinal(LerPlanilha("J4", "J", ws), ref duracaoBonificadaMin); // AdicionaListaFinal(LerPlanilha("K4", "K", ws), ref valor); // AdicionaListaFinal(LerPlanilha("L4", "L", ws), ref valorSemAd); // AdicionaListaFinal(LerPlanilha("M4", "M", ws), ref valorBonificado); // } // } // } // var infos = new InformacoesPlan(tempo, tipoCliente, uF, operadoraLd, tarifa, quantidade, duracaoBonificada, duracaoTarifadaMin, // duracaoBonificadaMin, valor, valorSemAd, valorBonificado); // return infos; //} public async Task <InformacoesPlan> ExtrairAsync(List <FileInfo> arquivos, string dtReferenca, IProgress <string> progresso, CancellationToken ct) { var tasks = arquivos.Select(arq => Task.Factory.StartNew(() => { ct.ThrowIfCancellationRequested(); ExcelPackage pck = new ExcelPackage(arq); var numeroSheets = pck.Workbook.Worksheets.Select(x => x.Index).ToList(); foreach (var sheets in numeroSheets) { var ws = pck.Workbook.Worksheets[sheets]; ws.DeleteColumn(6); AdicionaListaFinal(LerPlanilha("B4", "B", ws), ref tempo); AdicionaListaFinal(LerPlanilha("C4", "C", ws), ref tipoCliente); AdicionaListaFinal(LerPlanilha("D4", "D", ws), ref uF); AdicionaListaFinal(LerPlanilha("E4", "E", ws), ref operadoraLd); AdicionaListaFinal(LerPlanilha("F4", "F", ws), ref tarifa); AdicionaListaFinal(LerPlanilha("G4", "G", ws), ref quantidade); AdicionaListaFinal(LerPlanilha("H4", "H", ws), ref duracaoBonificada); AdicionaListaFinal(LerPlanilha("I4", "I", ws), ref duracaoTarifadaMin); AdicionaListaFinal(LerPlanilha("J4", "J", ws), ref duracaoBonificadaMin); AdicionaListaFinal(LerPlanilha("K4", "K", ws), ref valor); AdicionaListaFinal(LerPlanilha("L4", "L", ws), ref valorSemAd); AdicionaListaFinal(LerPlanilha("M4", "M", ws), ref valorBonificado); ct.ThrowIfCancellationRequested(); } progresso.Report(arq.Name); }) ); await Task.WhenAll(tasks); var infos = new InformacoesPlan(tempo, tipoCliente, uF, operadoraLd, tarifa, quantidade, duracaoBonificada, duracaoTarifadaMin, duracaoBonificadaMin, valor, valorSemAd, valorBonificado); return(infos); }
public async Task Unificar(string diretorioDataExtraida, string dataReferencia, InformacoesPlan infos, CancellationToken ct) { //Cria um novo arquivo .xlsx que recebera as informações de todas as planilhas. FileInfo novoArquivo = new FileInfo(diretorioDataExtraida); var fileInfo = new FileInfo(novoArquivo + "\\" + "Concatenados_" + dataReferencia + ".xlsx"); await Task.Run(() => { ct.ThrowIfCancellationRequested(); using (ExcelPackage pck = new ExcelPackage(fileInfo)) { ExcelWorksheet worksheet = pck.Workbook.Worksheets.Add(dataReferencia); var ws = pck.Workbook.Worksheets[1]; ws.Cells["A1"].Value = "Tempo"; ws.Cells["A2"].LoadFromCollection(infos.Tempo); ws.Cells["B1"].Value = "Tipo Cliente"; ws.Cells["B2"].LoadFromCollection(infos.TipoCliente); ws.Cells["C1"].Value = "Unidade Federativa"; ws.Cells["C2"].LoadFromCollection(infos.UF); ws.Cells["D1"].Value = "Operadora LD"; ws.Cells["D2"].LoadFromCollection(infos.OperadoraLd); ws.Cells["E1"].Value = "Tarifa"; ws.Cells["E2"].LoadFromCollection(infos.Tarifa); ws.Cells["F1"].Value = "Quantidade"; ws.Cells["F2"].LoadFromCollection(infos.Quantidade); ws.Cells["G1"].Value = "Duração Bonificada"; ws.Cells["G2"].LoadFromCollection(infos.DuracaoBonificada); ws.Cells["H1"].Value = "Duração Tarifada (min)"; ws.Cells["H2"].LoadFromCollection(infos.DuracaoTarifadaMin); ws.Cells["I1"].Value = "Duração Bonificada (min)"; ws.Cells["I2"].LoadFromCollection(infos.DuracaoBonificadaMin); ws.Cells["J1"].Value = "Valor"; ws.Cells["J2"].LoadFromCollection(infos.Valor); ws.Cells["K1"].Value = "Valor Sem Ad"; ws.Cells["K2"].LoadFromCollection(infos.ValorSemAd); ws.Cells["L1"].Value = "Valor Bonificado"; ws.Cells["L2"].LoadFromCollection(infos.ValorBonificado); ws.Cells["J1:J2"].Style.Numberformat.Format = "#,##0.00"; pck.Save(); } }); }