以前に実装されたコードは、xlsファイルを取り込み、ストリームを使用してテーブルの列に保存します。同じ方法を使用しますが、保存されるファイルはxlsmまたはxlsxタイプのファイルですXLSMファイルをデータベース列に保存して取得しますか?
データベースから内容を取得し、保存したxlsmファイルまたはxlsxファイルをスローすると、「Excelファイルには読めないコンテンツが見つかりましたか?このブックの内容を回復しますか?」というエラーが表示されます。
ここでは可能性として私を打つ物事のカップルを取得し、ユーザー
SqlCommand comm = new SqlCommand("select contents from upload order by id desc", con);
SqlDataReader reader = comm.ExecuteReader();
int bufferSize = 32768;
byte[] outbyte = new byte[bufferSize];
long retval;
long startIndex = 0;
startIndex = 0;
retval = reader.GetBytes(0, startIndex, outbyte, 0, bufferSize);
while (retval > 0)
{
System.Web.HttpContext.Current.Response.BinaryWrite(outbyte);
startIndex += bufferSize;
if (retval == bufferSize)
{
retval = reader.GetBytes(2, startIndex, outbyte, 0, bufferSize);
}
else
{
retval = 0;
}
}
あなたはおそらく、あなたの説明から、として、私たちにいくつかのコードを示してもらえ何が問題なのかを言うことは不可能です。 – samjudson
ストリームをサーバーに正しくプッシュしなかったようです。最も一般的な原因は、stream.Read(...)の返り値をメモしていないためです。 –
コメントとして投稿されている間、コードはひどく見えます。私はコードで質問を編集しました。お気軽に –