以前は、Microsoft.Jet.OLEDB.4.0 を介してファイル システムにある Excel ファイルを読み取っていましたが、正常に動作していましたが、クライアントから、Excel ファイルを BLOB 列としてデータベース テーブルに配置し、その列からそのファイルを読み取るように言われました。そのメモリ文字列を直接操作して、1 つのワークブックを非表示にします。
この問題から私を助けてください。
以前は、Microsoft.Jet.OLEDB.4.0 を介してファイル システムにある Excel ファイルを読み取っていましたが、正常に動作していましたが、クライアントから、Excel ファイルを BLOB 列としてデータベース テーブルに配置し、その列からそのファイルを読み取るように言われました。そのメモリ文字列を直接操作して、1 つのワークブックを非表示にします。
この問題から私を助けてください。
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
}