C# 将excel工作簿写入memoryStream
我想将新创建的Excel保存在MemoryStream中。这是我的代码:C# 将excel工作簿写入memoryStream,c#,visual-studio-2012,memorystream,C#,Visual Studio 2012,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 Me
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中)。另外,我尝试了导出固定格式,效果很好(但文档保存在电脑上)。
那么,SaveToStream在这里就不存在了
我正在Visual Studio 2012和Dotnet 4.5中开发一个Web ASP.NET MVC4应用程序。语言是C#。
是否可以将工作簿保存在memoryStream中而不保存在PC上
谢谢,您尝试过以下选项吗
xlWorkSheet.UsedRange.Copy(Type.Missing);
处理器正在后台运行 你已经试过了 尝试此操作以终止进程“Excel.exe”
你好Nil23,我试过你提出的方案。Excel工作表//完成xl工作表xlWorkSheet.UsedRange.Copy(Type.Missing);MemoryStream ms=新的MemoryStream();xlWorkBook.SaveAs(ms);它仍然不起作用…我注意到了一些问题:我认为只有在xlWorkBook=new xlWorkBook()(来自ClosedXML)时才能使用xlWorkBook.SaveAs(ms)…ClosedXML在Visual Studio 2012中可用吗?如果是,什么图书馆?
'foreach (Process proc in System.Diagnostics.Process.GetProcessesByName("Excel"))
{
proc.Kill();
}'