Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/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
C# 是否有一种方法可以从Excel工作簿中获取字节[],而不首先将其保存到磁盘_C#_Excel_.net 2.0_Excel Interop - Fatal编程技术网

C# 是否有一种方法可以从Excel工作簿中获取字节[],而不首先将其保存到磁盘

C# 是否有一种方法可以从Excel工作簿中获取字节[],而不首先将其保存到磁盘,c#,excel,.net-2.0,excel-interop,C#,Excel,.net 2.0,Excel Interop,我正在使用Microsoft.Office.Interop.Excel在C#中创建Excel文件、附加数据、更改格式以及所有操作。 现在我将数据保存到文件中,但我想要的是将字节写入流中,所以基本上我不想将其写入文件,然后打开它,然后将其写入流中 我只想将Excel工作簿中的数据写入字节数组,然后返回它 所以我现在要做的是 xlWorkBook.SaveAs(path, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValu

我正在使用Microsoft.Office.Interop.Excel在C#中创建Excel文件、附加数据、更改格式以及所有操作。 现在我将数据保存到文件中,但我想要的是将字节写入流中,所以基本上我不想将其写入文件,然后打开它,然后将其写入流中

我只想将Excel工作簿中的数据写入字节数组,然后返回它

所以我现在要做的是

xlWorkBook.SaveAs(path, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
            xlWorkBook.Close(true, misValue, misValue);
            xlApp.Quit();
我想说这样的话
xlWorkBook.GetBytes()。因此,
byte[]
将等于用
FileStream
从excel文件读取的
byte[]


提前感谢。

除了另存为文件然后用filestream读取外,没有其他方法可以做到这一点。

这是什么类型的应用程序(ASP.NET、Windows服务…)?是的,这很重要。。。另一点:这是什么Excel版本?我不明白这有什么关系,我只需要创建的Excel文件的字节,这样我就可以将其写入数据库,而无需先将其写入文件系统。如果您知道任何版本的interop Excel的解决方案,请告诉我。谢谢你说得对。从技术上讲,还有另一种选择,即使用第三方库,如OSE、spire等,其中一些库将转换为bytearray,然后转换为html、pdf等。。。。