2014-01-08 4 views
1

새로 만든 Excel을 MemoryStream에 저장하고 싶습니다. 여기에 내 코드 : 그냥 후 xlWorkBook.SaveAs (MS)을 브레이크 포인트 때ExcelStream에 Excel 통합 문서를 작성하는 방법은 무엇입니까?

using Excel = Microsoft.Office.Interop.Excel; 
... 

public void Create(){ 
    Excel.Application xlApp; 
    Excel.Workbook xlWorkBook; 
    Excel.Worksheet xlWorkSheet; 

    //Complete xlWorkSheet 

    MemoryStream ms = new MemoryStream(); 
    xlWorkBook.SaveAs(ms); 

    xlWorkBook.Close(false, misValue, misValue); 
    xlApp.Quit(); 
} 

문제는, MS가 비어 (길이가 0). 또한 저장시 PC (폴더 Documents)에 "System.IO.MemoryStream"파일이 생성됩니다. 또한 ExportAsFixedFormat을 사용해 보았지만 정상적으로 작동했지만 문서는 PC에 저장됩니다. 그런 다음 SaveToStream이 여기에 존재하지 않습니다.

Visual Studio 2012 및 Dotnet 4.5에서 웹 ASP.NET MVC4 응용 프로그램을 개발 중입니다. 언어는 C#입니다. workbook을 PC에 저장하지 않고 memoryStream에 저장할 수 있습니까?

감사합니다.

답변

0

다음 옵션을 사용해 보셨습니까?

xlWorkSheet.UsedRange.Copy(Type.Missing); 
+0

안녕하세요 Nil23, 내가 제안한 옵션을 시도했습니다. Excel.Worksheet xlWorkSheet; // Complete xlWorkSheet xlWorkSheet.UsedRange.Copy (Type.Missing); MemoryStream ms = 새 MemoryStream(); xlWorkBook.SaveAs (ms); 여전히 작동하지 않습니다 ... – F2O

+0

뭔가 알았습니다 : ** xlWorkBook.SaveAs (ms) **는 ** xlWorkBook = new XLWorkbook() ** (ClosedXML에서) 인 경우에만 사용할 수 있습니다. ClosedXML은 Visual Studio 2012에서 사용할 수 있습니까? 그렇다면 어떤 도서관입니까? – F2O