Ir para conteúdo

Flávia Santos

Members
  • Total de itens

    3
  • Registro em

  • Última visita

Reputação

0 Comum

Sobre Flávia Santos

  1. Flávia Santos

    Como pegar objeto ativo do lado cliente no C# 

    Olá. Este ano é exibido em uma aba. São três abas 2016,2017 e 2018 e para cada ano tenho as informações do ano ativo. Atualmente o código está levando em consideração apenas o ano de 2018. Veja: if (ANO_CICLO == ano) carregaExportar(ano); Neste caso passa apenas o ano de 2018. Preciso levar em consideração os anos de 2016 e 2017 , para isso acredito que eu preciso pegar o ano ativo do lado cliente e chamar a função passando este ano. Sei que seria muito mais fácil fazer uma chamada ajax em javascript, sendo que esta função carregaExportar já está pronta e estou mantendo , não sendo possível ser uma função estática. Pensei em uma outra forma que seria montar três tabelas no método exportar, sendo uma para cada ano. Atualmente o código exportar está assim(trecho do código): if (listaVariaveisDoIndicador.Count != 0) { //Para exportação em colunas tabelaExportacao.Append("<table id='tableExportacao'>"); tabelaExportacao.Append("<tr><td colspan='3'> <b>" + listaVariaveisDoIndicador[0].Indicador.sigla + " - " + listaVariaveisDoIndicador[0].Indicador.nome + " </b></td></tr>"); tabelaExportacao.Append("<tr><td><b>Sigla da Variável</b></td>"); tabelaExportacao.Append("<td><b>Nome da Variável</b></td>"); tabelaExportacao.Append("<td><b>Valor da Variável</b></td></tr>"); //Para exportação em Bloco tabelaExportacaoBloco.Append("<table id='tableExportacaoBloco'>"); tabelaExportacaoBloco.Append("<tr><td colspan='2'> <b>" + listaVariaveisDoIndicador[0].Indicador.sigla + " - " + listaVariaveisDoIndicador[0].Indicador.nome + " </b></td></tr>"); tabelaExportacaoBloco.Append("</tr>"); Poderia montar uma tabela para cada ano? A idéia seria essa - Pegar o ano ativo na aba e exportar o conteúdo deste ano para o excel. Não estou sabendo qual seria a forma mais simples. Obrigada, Flávia
  2. Flávia Santos

    Como pegar objeto ativo do lado cliente no C# 

    Boa tarde pessoal. Estou tentando exportar uma tabela com vários anos para o excel, e atualmente só está exportando para o ano atual. Na meu método de exportação tenho o parâmetro ano que está recebendo apenas 2018. Meu projeto está em ASP.NET e estou precisando fazer uma função no C# onde pego o ano da aba que está ativa e passar este ano para minha função. Desta forma acho que resolveria meu problema para exportar o ano correspondente da aba. Como faço para pegar o ano que está ativo na aba em C#? Procedimento que estou tentando: Do lado do servidor o seguinte método chamado no click do botão exportar: protected void btnExportarExcel_Click(object sender, EventArgs e) { //Aqui quero pegar o ano ativo do lado cliente int ano = ??? carregaExportar(ano); } Preciso selecionar aba do ano desejado e ao clicar no botão exportar - exibir os dados da aba referente aquele ano. Obrigada. Flávia
  3. Flávia Santos

    Exportar tabela com abas de anos para o Excel

    Boa tarde pessoal. Estou precisando de uma ajudinha, preciso exportar uma tabela com abas para o excel. Tenho uma tela com abas representando os anos de 2016,2017, 2018 - para cada aba os valores são carregados de acordo com o ano. Ao clicar na aba do ano aparece a tabela com os dados daquele ano, a partir de então clico no botão Exportar e a exportação é feita, mas atualmente só está considerando o ano de 2018. Preciso levar em consideração os anos de 2016 e 2017 no excel. Vejam como está atualmente: var tableToExcel = (function () { var uri = 'data:application/vnd.ms-excel;base64,' , template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" ' + 'xmlns:x = "urn:schemas-microsoft-com:office:excel" xmlns= "http://www.w3.org/TR/REC-html40" > ' + ' <!--[if gte mso 9]><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}' + '<x:WorksheetOptions><x:DisplayGridlines/></x: ExcelWorksheet></x: ExcelWorksheets></x: ExcelWorkbook>' + '<![endif]-- > {table}' , base64 = function (s) { return window.btoa(unescape(encodeURIComponent(s))) } , format = function (s, c) { return s.replace(/{(\w+)}/g, function (m, p) { return c[p]; }) } return function (table, name, filename) { //var alo = "babum.xls"; if (!table.nodeType) table = document.getElementById(table) var tableClone = $(table).clone(); tableClone.find(".colSelecionar").remove(); var ctx = { worksheet: name || 'Worksheet', table: tableClone.html() } //window.location.href = uri + base64(format(template, ctx)) var blob = new Blob([format(template, ctx)], { type: "application/vnd.ms-excel" }); window.URL = window.URL || window.webkitURL; link = window.URL.createObjectURL(blob); a = document.createElement("a"); a.download = filename + "_" + getDate() + ".xls"; a.href = link; document.body.appendChild(a); a.click(); document.body.removeChild(a); } })(); A função chamada acima getDate() está pegando apenas o ano de 2018, veja: function getDate() { var d = new Date(); var month = d.getMonth() + 1; var day = d.getDate(); var output = d.getFullYear() + '/' + (('' + month).length < 2 ? '0' : '') + month + '/' + (('' + day).length < 2 ? '0' : '') + day; return output; } Tentei modificar a função getDate: var month = d.getMonth() + 1; var day = d.getDate(); var ano= $("#divAbas li.active a").text(); var output = ano + '/' + (('' + month).length < 2 ? '0' : '') + month + '/' + (('' + day).length < 2 ? '0' : '') + day; return output; } Desta forma pego o ano da aba que está ativa, sendo que o conteúdo de cada ano não está correto. Estou conseguindo passar o ano corretamente como parâmetro para o nome do arquivo exportado. Tenho que alterar alguma coisa no download da outra função. Pois na verdade estou querendo que ao clicar no botão Exportar seja exibida no excel 3 abas uma para cada ano com seus conteúdos correspondentes. Sou iniciante em Javascript, se alguém puder me ajudar ficarei muito grata. Desde já agradeço. Flávia
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.