Управлять файлом Excel с OLEDB, с файловыми потоками вместо физического файла - PullRequest
2 голосов
/ 24 марта 2009

Раньше я читал файл Excel, расположенный в файловой системе через Microsoft.Jet.OLEDB.4.0, и это работало нормально, но теперь мой клиент сказал мне, что поместите файл Excel в таблицу базы данных в виде столбца BLOB и прочитайте этот файл. из этого столбца и скрыть одну книгу, непосредственно манипулируя этой строкой памяти.

Пожалуйста, помогите мне решить эту проблему?

1 Ответ

1 голос
/ 13 июля 2010

Создайте темп с содержимым BLOB и замените BLOB, когда закончите.

string fileName = Path.GetTempFileName();
using (var stream = File.OpenWrite(fileName))
  stream.Write(blobContents);

// open excel with oledb
// and do your processing

using (var stream = File.OpenRead(fileName))
{
   var buffer = new byte[stream.Length];
   stream.Read(buffer, 0, stream.Length);

   //save blob
}
...