Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何将Excel工作表写入MemoryStream?_.net_Excel - Fatal编程技术网

.net 如何将Excel工作表写入MemoryStream?

.net 如何将Excel工作表写入MemoryStream?,.net,excel,.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";

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

            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();

您知道文件的位置吗,还是需要先使用Excel创建它

您可以使用

var buffer = File.ReadAllBytes(pathToSave)
然后使用字节数组创建内存流:

var stream = new MemoryStream(buffer);

这就是你的意思吗?

你知道文件的位置吗,还是需要先用Excel创建它

您可以使用

var buffer = File.ReadAllBytes(pathToSave)
然后使用字节数组创建内存流:

var stream = new MemoryStream(buffer);

这就是你的意思吗?

这是不可能的,Excel是一个进程外的COM服务器。它的数据不能直接访问,您必须通过名称空间方法。你只能要求它保存到一个文件中。可能的副本是不可能的,Excel是一个进程外的COM服务器。它的数据不能直接访问,您必须通过名称空间方法。您只能要求将其保存到文件中。的可能副本