如何使用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类为您完成。

链接地址: http://www.djcxy.com/p/75445.html

上一篇: How to create Excel file using OpenXML without creating a local file?

下一篇: VBA Object Model reference documentation