No sistema, muitas vezes acontece que o fluxo do Excel é gerado e o Excel gerado é transmitido para o usuário.
De
modogeral
,
você pode usar o Response para enviar um cabeçalho HTTP ao cliente e enviar o fluxo do Excel.
problema.
O principal motivo pelo quala caixa de diálogo de download do arquivo aparece duas vezes quando você clica para abrir é
: (suposição atual, o motivo exato ainda não foi encontrado).
Quando é aberto pela primeira vez, o arquivo temporário do fluxo do Excel já existe no sistema (é o arquivo sem a extensão do arquivo), mas não existe o original (o arquivo real existe). para salvar o arquivo temporário no computador em outras posições. (Está relacionado à falta do nome do sufixo?)
Na segunda vez, selecione o local do arquivo do cliente e se deseja salvá-lo em outro local de pasta não temporário.
A solução atual é
criar uma nova página especificamente para fornecer dados exportados
Escreva um código como este em Page_load nesta página
private void Page_Load(object sender, System.EventArgs e)
{
//Coloque o código do usuário aqui para inicializar a página
ReportRule reportRule=new ReportRule();
byte[] result= reportRule.RenderReport(HttpContext.Current.Server.UrlDecode(this.Request.QueryString["peportpath"]),Request.QueryString["id"]);
HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
HttpContext.Current.Response.AppendHeader("Disposição de conteúdo","anexo;nome do arquivo=hahh.xls")
;
(resultado
)
;