예제 #1
0
        public ResultadoExportacao GerarArquivoAmbiente(DadosExportacaoAmbienteModelo dados)
        {
            ResultadoExportacao resultadoExportacao = new ResultadoExportacao();

            try
            {
                string caminhoModelo  = ArquivoDiretorioUtils.ObterDiretorioModelo();
                var    caminhoGeracao = ArquivoDiretorioUtils.ObterDiretorioExportacaoAmbiente();
                caminhoGeracao = ArquivoDiretorioUtils.ConstruirObterDiretorioData(caminhoGeracao);
                var    dataHora = DateTime.Now.ToString("dd_MM_yyy_HH_mm_ss");
                string caminhoCompletoExportacaoModelo = $"{caminhoModelo}LayoutExportacaoAmbiente.xlsx";
                string caminhoCompletoExportacaoFinal  = $"{caminhoGeracao}/ExportacaoAmbiente_{dataHora}.xlsx";
                ArquivoDiretorioUtils.CopiarArquivo(caminhoCompletoExportacaoModelo, caminhoCompletoExportacaoFinal);

                using (var workbook = new XLWorkbook(caminhoCompletoExportacaoFinal))
                {
                    ExportarDadosAmbiente(workbook, dados);
                    workbook.Save();
                    workbook.Dispose();
                }

                string _b64 = Convert.ToBase64String(File.ReadAllBytes(caminhoCompletoExportacaoFinal));

                resultadoExportacao.planilha = _b64;

                return(resultadoExportacao);
            }
            catch (Exception)
            {
                throw;
            }
        }