Ejemplo n.º 1
0
        public ActionResult gerarExcel(IOrderedQueryable <TituloReceitaPagamentoVW> queryOrder)
        {
            StringWriter sw = new StringWriter();

            // Montar cabeçalho
            string cabecalho =
                "Código;Data Transação;Tipo Receita;ID Receita;Descrição;Nome;Valor pagamento;Valor Tarifas;Data Vencimento;Data Pagamento;" +
                "Data Baixa;Data Crédito;Meio de Pagamento;Status;Comprovante";

            string nomeArquivo = String.Concat("Receitas_", User.id(), "_", Session.SessionID, "_", UtilString.onlyNumber(DateTime.Now.ToString(CultureInfo.InvariantCulture)), ".csv");

            sw.WriteLine(cabecalho);

            var listaRegistros = queryOrder.ToList();

            foreach (var OItem in listaRegistros)
            {
                string campos = "{0}";

                for (int i = 1; i < cabecalho.Split(';').Length; i++)
                {
                    campos = String.Concat(campos, ";{" + i + "}");
                }

                sw.WriteLine(campos,
                             OItem.idTituloReceitaPagamento, OItem.dtCadastro.exibirData(true), OItem.descricaoTipoReceita, OItem.idReceita, OItem.descricaoTitulo(), OItem.nomePessoa,
                             OItem.valorOriginal.ToString("C"), OItem.valorTotalTarifas().ToString("C"), OItem.dtVencimento.exibirData(), OItem.dtPagamento.exibirData(),
                             OItem.dtBaixa.exibirData(true), OItem.dtCredito.exibirData(), OItem.descricaoFormaPagamento, OItem.descricaoStatusPagamento, OItem.codigoAutorizacao);
            }


            string urlArquivo = String.Concat(UtilConfig.pathAbsUploadFiles, nomeArquivo);

            if (!System.IO.File.Exists(urlArquivo))
            {
                System.IO.File.Create(urlArquivo).Close();
            }

            System.IO.File.AppendAllText(urlArquivo, sw.ToString(), System.Text.Encoding.GetEncoding("iso8859-1"));

            return(File(urlArquivo, "text/csv", nomeArquivo));
        }