2017-09-20 9 views
0

일부 데이터를 내보내고 브라우저를 통해 파일을 다운로드하고 다운로드하려고합니다. 나는 다음과 같은 방법으로 바이트 배열을 반환하는 활성 통합 문서를 생성하는 방법이 있습니다MVC에서 두 파일을 반환하는 Excel 내보내기

byte[] doc = be.GetActiveWorkbook(excelApp); 

GetActiveWorkBook은 다음과 같습니다있어서

public byte[] GetActiveWorkbook(Application app) 
{ 
     string path = Path.GetTempFileName(); 

     try 
     { 
      app.ActiveWorkbook.SaveCopyAs(path); 
      return File.ReadAllBytes(path); 
     } 
     finally 
     { 
      if (File.Exists(path)) 
       File.Delete(path); 
     } 
} 

마지막으로이 파일은 다음과 같이 반환됩니다

var file = File(doc, "application/vnd.ms-excel"); 
file.FileDownloadName = filename + " " + id + ".xlsx"; 
return file; 

엑셀 파일은 실제로 브라우저에 다운로드되지만 실제로 엑셀 파일을 닫지 만 백그라운드에서 진행중인 프로세스가있는 것처럼 보입니다. 내 바탕 화면에. 왜 이런거야?

답변

1

Excel Interop은 적절하게 처리하기위한 악몽입니다. 이미이 문제에 대한 게시물이 몰랐

How do I properly clean up Excel interop objects?

+0

: 당신은 당신이 전달되는 엑셀 응용 프로그램을 청소하고 방법을 보려면 게시 한 방법 이외의 코드를 확인 아마 가치. 고마워, 내 문제가 해결 됐어! – jazy