如何使用OpenXML创建Excel文件而不创建本地文件?
是否可以使用OpenXML SDK创建和编辑Excel文档而不创建本地文件?
根据文档, Create
方法需要一个文件filepath
,该文件filepath
创建该文件的本地副本。
SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(filepath, SpreadsheetDocumentType.Workbook);
我在这里引用MSDN文章:https://msdn.microsoft.com/en-us/library/office/ff478153.aspx
我的要求是创建该文件,并且它应该由浏览器单击按钮下载。
任何建议?
您可以使用SpreadsheetDocument.Create
的重载,它接受Stream
并将其传递给MemoryStream
:
MemoryStream memoryStream = new MemoryStream();
SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(memoryStream, SpreadsheetDocumentType.Workbook);
//add the excel contents...
//reset the position to the start of the stream
memoryStream.Seek(0, SeekOrigin.Begin);
return new FileStreamResult(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
请注意,根据此StackOverflow问题,您不需要处理Stream,因为它将由FileStreamResult
类为您完成。
上一篇: How to create Excel file using OpenXML without creating a local file?