在内存OleDbConnection到Excel文件

我想打开一个OleDbConnection作为一个FileStream在内存中的Excel文件。 有谁知道这是可能的,以及如何实现它?

大图我想将文件字节传递给.NET CLR存储过程并提取数据。 也许有一个更好的方法来做到这一点,我没有考虑。

提前致谢。

JP提供的VSTO解决scheme绝对可行。 但是,如果你真的想使用OleDb和一些SQL,看看这个 artcile:这是一个MS知识库文章,描述如何使用OleDb从Excel导入数据到SQLSever。

您可以使用SpreadsheetGear从内存中的字节数组中打开文件,也可以使用SpreadsheetGear.Factory.GetWorkbookSet ()。Workbooks.OpenFromMemory(byte [])/ OpenFromStream(System.IO.Stream)打开任何stream中的文件。

免责声明:我自己的SpreadsheetGear LLC

您可以使用VSTO提取数据。 它有一个Excel的对象模型 。 然后通过你想要的过程。 我认为这会比尝试将CLR存储过程解码成Excel文件stream更好。