Excelファイルサーバー側を生成し、適切なMIMEを使用してクライアントに送信する必要がありますクライアントがそれを開く方法を理解できるようにします。 fileName
は、ファイルに付ける名前で、bytes
はbyte[]
形式でExcelの発電機から出力され、このような
何か...
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", fileName));
HttpContext.Current.Response.ContentType = "application/ms-excel";
HttpContext.Current.Response.BinaryWrite(bytes);
。
これは実際にエクセルオープンなどを強制するものではなく、クライアントがExcelで開くことができる最良の形式でコンテンツをクライアントに提示するだけです。ユーザーは「開く」をクリックする必要があり、Excelがインストールされている場合は、ファイルを開くための既定のアプリケーションになります。
クライアントにExcelがない場合、またはそのMIMEタイプがマップされていない場合などは動作しません。何かクレイジーなアクティブなブードゥー(私はお勧めしません)がなければ、あなたは "彼らのために優れたオープン"することができなくなります。
1 - これはあなたができる最高です –
サイドノート、COMオフィスDLLとの相互運用機能は、サーバー上でExcelファイルを生成するための本当に悪い方法です。さらに、Officeは実際にはそのような使用のために実際にライセンスされていません。私は非常にあなたのファイルを生成するNPOIやExcelLibraryなどのライブラリをお勧めします。 – Brook
これは[Officeのサーバー側の自動化に関する考慮事項-KB 257757](http://support.microsoft.com/kb/257757)にすべて記載されています。 –