1
我想将新创建的Excel保存在MemoryStream中。在这里我的代码:如何将excel工作簿写入memoryStream?
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();
}
问题是,当我断点刚过xlWorkBook.SaveAs(MS),MS是空的(长度为0)。此外,保存时,PC上会创建一个文件“System.IO.MemoryStream”(文件夹Documents)。另外,我试过ExportAsFixedFormat,它运行良好(但文档保存在PC上)。 然后,SaveToStream在这里不存在。
我正在Visual Studio 2012和Dotnet 4.5中开发应用程序Web ASP.NET MVC4。该语言是C#。 可以将工作簿保存在memoryStream中,而无需将其保存在PC上?
谢谢,
你好Nil23,我试过你提出的选项。 Excel.Worksheet xlWorkSheet; //完整xlWorkSheet xlWorkSheet.UsedRange.Copy(Type.Missing); MemoryStream ms = new MemoryStream(); xlWorkBook.SaveAs(ms); 它仍然无法工作... – F2O
我注意到了一些事情:我认为** xlWorkBook.SaveAs(ms)**只能用于** xlWorkBook = new XLWorkbook()**(来自ClosedXML)... ClosedXML在Visual Studio 2012中可用?如果是,什么库? – F2O