我正在尝试创建一个 excel 文件并将其作为下载提供。但是我在下载部分遇到了一些麻烦。
我EPPlus
用来创建一个xml文件。我有那个工作。但只是本地的。我不确定如何强制下载文件。
这是我的代码:
public Stream GetXlsxDocument(IQueryable data)
{
const string sheetName = "Sheet1";
var localFile = new FileInfo(@"C:\test2.xlsx");
var file = new FileInfo("test2.xlsx");
// Used for local creation
//ExcelPackage p = new ExcelPackage();
MemoryStream stream = new MemoryStream();
using (ExcelPackage p = new ExcelPackage(stream))
{
p.Workbook.Worksheets.Add("Sheet1");
ExcelWorksheet ws = p.Workbook.Worksheets[1];
ws.Name = sheetName;
ws.Cells.Style.Font.Size = 11;
ws.Cells.Style.Font.Name = "Calibri";
ws.SetValue(1, 1, "aaa"); // Test data
// Used for local creation
//p.SaveAs(localFile);
p.SaveAs(stream);
}
return stream;
}
就像我之前说的。xlsx
在我的 C:\ 磁盘上本地创建文件有效。但是我怎样才能强制下载创建的xlsx
文件呢?
现在它给了我一个xlsx
0 字节的文件。我需要返回一个不为空的流。任何人都知道我怎么能做到这一点..?