2

asp.net mvc 4 を使用していますが、データベースから取得した Excel ファイルに問題があります。コードの通常のasp.net部分でエラーが発生しないため、mvc固有であることはわかっています。

xlsx をダウンロードすると、問題なくダウンロードされます。開くと、次のエラーが表示されます。

「name.xlsx」の一部のコンテンツに問題が見つかりました。できる限り回復してもらいたいですか?このブックの発行元が信頼できる場合は、[はい] をクリックします。

もちろん、はいをクリックします。私のExcelファイルにはまったく問題はありません。それらは正しく生成されます。

ここに私のmvcコードがあります:

Return File(attachment.FileContent.Content, attachment.FileContent.Type, attachment.Filename)
  • attachment.FileContent.Content = コンテンツを含む byteArray
  • attachment.FileContent.Type = この場合は application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • attachment.Filename = 正しい終了タグが付いたファイル名 (この場合は .xlsx)

ただし、通常のasp.netページでは、このエラーはまったく発生しません。私のasp.netページで私がしていることは次のとおりです。

Dim filter As IO.Stream = Response.Filter
Response.Filter = Nothing
Response.Clear()
Response.ContentType = attachment.FileContent.Type
Response.AddHeader("Content-Disposition", "attachment; filename=" & attachment.Filename)
Response.OutputStream.Write(attachment.FileContent.Content, 0, attachment.FileContent.Length.Value)
Response.End()

何か提案があれば: 喜んで受け入れます。

4

0 に答える 0