Пример #1
0
        private static void TesteFlexcelSimples(RelatoriosFlexcelUtilitario relatorios)
        {
            List <TesteFlexcellProjecao> lista = new List <TesteFlexcellProjecao>();

            lista.Add(new TesteFlexcellProjecao()
            {
                ValorString_1 = "Teste1", ValorData_2 = new DateTime(2020, 10, 8), ValorNumero_3 = 12345, ValorDecimal_4 = 10.25M, ValorBool_5 = true
            });
            lista.Add(new TesteFlexcellProjecao()
            {
                ValorString_1 = "Teste2", ValorData_2 = new DateTime(2019, 5, 28), ValorNumero_3 = 1000234, ValorDecimal_4 = -10.25M, ValorBool_5 = false
            });
            lista.Add(new TesteFlexcellProjecao()
            {
                ValorString_1 = "Teste3", ValorData_2 = new DateTime(2017, 12, 12), ValorNumero_3 = 1897653, ValorDecimal_4 = 198653.99999M, ValorBool_5 = true
            });
            lista.Add(new TesteFlexcellProjecao()
            {
                ValorString_1 = "Teste4", ValorData_2 = new DateTime(1989, 4, 1), ValorNumero_3 = 0, ValorDecimal_4 = 999999.999999M, ValorBool_5 = false
            });
            lista.Add(new TesteFlexcellProjecao()
            {
                ValorString_1 = "Teste5", ValorData_2 = new DateTime(1993, 9, 24), ValorNumero_3 = -1256, ValorDecimal_4 = -999999.999999M, ValorBool_5 = false
            });

            relatorios.GerarExcel <TesteFlexcellProjecao>(lista.ToList(), "Dados", @"D:\Arquitetura\Poc Microservicos\ApiAcme\RelatoriosTemplates\TemplatePadrao.xlsx", @"D:\Arquitetura\Poc Microservicos\ApiAcme\RelatoriosTemplates\RelatoriosGerados\FlexcelPadrao.xlsx");
        }
Пример #2
0
        public HttpResponseMessage GetReportAuthors(TypeReportEnum typeReport, SortOrderAuthorEnum sortOrder)
        {
            string nomeArquivo = "AuthorsTeste1.xlsx";
            string path        = @"D:\Arquitetura\Poc Microservicos\ApiAcme\RelatoriosTemplates\";
            string pathArquivo = path + nomeArquivo;
            string contentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";

            var authors = from s in _context.Authors
                          .Include(a => a.Posts)
                          select s;

            authors = ChangeSortOrder(sortOrder, authors);

            authors = authors.Where(a => a.Posts.Count > 0).Take(10);

            RelatoriosFlexcelUtilitario relatorios = new RelatoriosFlexcelUtilitario();

            relatorios.GerarExcel <Authors>(authors.ToList(), "Authors", @"D:\Arquitetura\Poc Microservicos\ApiAcme\RelatoriosTemplates\AuthorsTemplate.xlsx", @"D:\Arquitetura\Poc Microservicos\ApiAcme\RelatoriosTemplates\RelatoriosGerados\AuthorsTeste1.xlsx");
            relatorios.GerarExcel <Authors>(authors.ToList(), "Authors", @"D:\Arquitetura\Poc Microservicos\ApiAcme\RelatoriosTemplates\AuthorsTemplate2.xlsx", @"D:\Arquitetura\Poc Microservicos\ApiAcme\RelatoriosTemplates\RelatoriosGerados\AuthorsTeste2.xlsx");

            switch (typeReport)
            {
            case TypeReportEnum.Xlsx:
                nomeArquivo = "AuthorsTeste1.xlsx";
                contentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                break;

            case TypeReportEnum.Pdf:
                nomeArquivo = "AuthorsTeste1.pdf";
                contentType = "application/pdf";
                relatorios.ExportToPdf(@"D:\Arquitetura\Poc Microservicos\ApiAcme\RelatoriosTemplates\RelatoriosGerados\AuthorsTeste1.xlsx", @"D:\Arquitetura\Poc Microservicos\ApiAcme\RelatoriosTemplates\RelatoriosGerados\AuthorsTeste1.pdf");
                relatorios.ExportToPdf(@"D:\Arquitetura\Poc Microservicos\ApiAcme\RelatoriosTemplates\RelatoriosGerados\AuthorsTeste2.xlsx", @"D:\Arquitetura\Poc Microservicos\ApiAcme\RelatoriosTemplates\RelatoriosGerados\AuthorsTeste2.pdf");
                break;

            case TypeReportEnum.Html:
                nomeArquivo = "AuthorsTeste1.html";
                contentType = "text/html";
                relatorios.ExportToHtml(@"D:\Arquitetura\Poc Microservicos\ApiAcme\RelatoriosTemplates\RelatoriosGerados\AuthorsTeste1.xlsx", @"D:\Arquitetura\Poc Microservicos\ApiAcme\RelatoriosTemplates\RelatoriosGerados\AuthorsTeste1.html");
                relatorios.ExportToHtml(@"D:\Arquitetura\Poc Microservicos\ApiAcme\RelatoriosTemplates\RelatoriosGerados\AuthorsTeste2.xlsx", @"D:\Arquitetura\Poc Microservicos\ApiAcme\RelatoriosTemplates\RelatoriosGerados\AuthorsTeste2.html");
                break;

            default:
                break;
            }

            TesteFlexcelSimples(relatorios);

            if (System.IO.File.Exists(pathArquivo))
            {
                HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);

                //TMS
                //Response.Clear();
                //Response.AddHeader("Content-Disposition", "attachment;"
                //+ "filename=Test.xls");
                //Response.AddHeader("Content-Length",
                //ms.Length.ToString());
                //Response.ContentType = "application/excel";
                //Response.BinaryWrite(ms.ToArray());
                //Response.End();

                //var stream = new FileStream(pathArquivo, FileMode.Open);
                //stream.Position = 0;
                //result.Content = new StreamContent(stream);
                //result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment") { FileName = pathArquivo };
                //result.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue(contenType);
                //result.Content.Headers.ContentDisposition.FileName = pathArquivo;
                return(result);
            }
            else
            {
                HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.Gone);
                return(result);
            }
        }