OpenXMLライブラリを使用してファイルを生成してExcelに送信し、ユーザーに送信しています。Chrome と IE では非常にうまく機能しますが、Firefox で試してみると問題が発生しました。
FFを使用してファイルを保存すると、拡張子のないファイルが取得されますFFを使用してファイルを開くと、魅力のように機能します:(
次の関数を使用してストリームをユーザーに送信しています。
public static void SendToClient(Byte[] stream, string fileName)
{
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
HttpContext.Current.Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
HttpContext.Current.Response.BinaryWrite(stream);
HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=" + fileName + ".xlsx");
HttpContext.Current.Response.AddHeader("content-length", stream.LongLength.ToString());
HttpContext.Current.Response.End();
}
そしてそれを次のように呼び出します:
_ExcelReports.SendToClient(excelUtil.ExportToExcel(excelWorkBook), projectName + " Resources");
さらに奇妙なことに、スクリーンショットのように、FF ダウンロード ダイアログがファイルを認識します。
ダウンロードが完了しました。