В памяти OleDbСоединение с файлом Excel - PullRequest
7 голосов
/ 26 мая 2009

Я хотел бы открыть OleDbConnection для файла Excel, который находится в памяти как FileStream. Кто-нибудь знает, возможно ли это и как это сделать?

Большое изображение Я хотел бы передать байты файла в хранимую процедуру .NET CLR и извлечь данные. Возможно, есть лучший способ сделать это, который я не рассматривал.

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 26 мая 2009

Вы можете использовать SpreadsheetGear , чтобы открыть файл из байтового массива в памяти или из любого потока с помощью SpreadsheetGear.Factory.GetWorkbookSet (). Workbooks.OpenFromMemory (byte []) / OpenFromStream (System.IO .Stream).

Отказ от ответственности: я владею SpreadsheetGear LLC

0 голосов
/ 26 мая 2009

Решение VSTO, которое предлагает JP, определенно жизнеспособно. Однако, если вы действительно хотите использовать OleDb и немного SQL, взгляните на этот artcile: это статья базы знаний MS, которая описывает, как импортировать данные из Excel в SQLSever с помощью OleDb.

0 голосов
/ 26 мая 2009

Вы можете извлечь данные, используя VSTO . Он имеет объектную модель для Excel . Затем передайте то, что вы хотите, в proc. Я думаю, что это было бы лучше, чем пытаться сохранить хранимую процедуру CLR для расшифровки потока файлов Excel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...