如何将Excel工作表写入MemoryStream?

时间:2012-09-05 13:32:37

标签: .net excel

我有这段代码,但它保存到文件

            Excel.Application app = new Excel.Application();
            app.Workbooks.Add();
            Excel._Worksheet sheet = app.ActiveSheet;
            sheet.Cells[1, "A"] = "login";
            sheet.Cells[1, "B"] = "e-mail";

            int row = 1;
            foreach (ProviderUser u in users)
            {
                row++;
                sheet.Cells[row, "A"] = u.UserName;
                sheet.Cells[row, "A"] = u.Email;
            }

            string pathToSave = Path.Combine(Environment.CurrentDirectory, "users.xlsx");
            sheet.SaveAs(pathToSave);
            app.Quit();

1 个答案:

答案 0 :(得分:1)

您是否知道文件的位置,或者您是否需要先使用Excel创建文件?

您可以使用

轻松获取文件的字节数组
var buffer = File.ReadAllBytes(pathToSave)

然后使用字节数组创建内存流:

var stream = new MemoryStream(buffer);

这是你的意思吗?