private async Task GerarRelatorioPluviometrico() { foreach (var item in selectLstBox.Items) { string codigo = item.ToString().Split('-')[0]; Atividade.Text = $"Buscando dados estação {codigo} no Hidroweb-ANA"; var dadosEstacao = await ServiceANAHelper.DadosPluviometricosEstacao(Convert.ToInt32(codigo)); try { if (dadosEstacao.EhValido) { Atividade.Text = $"Gerando planilha para estação: {codigo}"; var dadosSerieHistorica = DataTableParaSerieHistoricaChuvas(dadosEstacao.Dados); var estacao = ListaEstacoesCache.Estacoes.First(c => c.Codigo == Convert.ToInt32(codigo)); _Workbook planilha = ExcelInteropHelper.CriarNovaPlanilhaPluviometrico("item"); planilha = ExcelInteropHelper.CriarAbaEstacao(planilha, dadosSerieHistorica, estacao); planilha = ExcelInteropHelper.CriarAbaChuvas(planilha, dadosSerieHistorica, estacao); planilha = ExcelInteropHelper.CriarAbaDiaria(planilha, dadosSerieHistorica, estacao); planilha = ExcelInteropHelper.CriarAbaResumo(planilha, dadosSerieHistorica, estacao); planilha = ExcelInteropHelper.CriarAbaResumoDia(planilha, dadosSerieHistorica, estacao); planilha = ExcelInteropHelper.CriarAbaResumoDiasChuva(planilha, dadosSerieHistorica, estacao); planilha = ExcelInteropHelper.CriarAbaResumoDiasFalha(planilha, dadosSerieHistorica, estacao); Atividade.Text = $"Salvando planilha."; planilha.SaveAs(escolherDiretorio.SelectedPath + $"/{codigo}", Microsoft.Office.Interop.Excel.XlFileFormat.xlOpenXMLWorkbook, null, null, false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Microsoft.Office.Interop.Excel.XlSaveConflictResolution.xlUserResolution, true, null, null, null); ExcelInteropHelper.FecharAplicacao(planilha); } else { MessageBox.Show($"Não foi possível encontrar dados para {Convert.ToInt32(codigo)}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1); } } catch (Exception ex) { boxBusca.Enabled = true; boxSelecao.Enabled = true; Atividade.Text = string.Empty; MessageBox.Show(ex.Message, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1); } } }