Bom dia 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);
}
Tinha pensado em fazer pelo JS, mas não vai ser possível, pois o método exportarExcel que tenho que chamar já está pronto, estou apenas mantendo e ele não pode ser estático. Para fazer pelo javascript teria que colocar o WebMethod e passar para estático. Estou tentando dar um jeito de pegar a aba selecionada do lado servidor, não sei se é possível, pois desta forma chamo o método passando o ano. 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 chamada está no aspx:
Exportar em colunas
Exportar igual à ficha
Só não sei como seria a chamada de três tabelas dependendo do ano ativo.
Alguém teria alguma sugestão mais simples onde tenho que pegar o ano ativo na aba e ao clicar no botão exportar - exportar dados do ano escolhido para o excel.
Obrigada. Flávia