0

Web アプリケーションで、XSL テンプレートを使用してスプレッドシート XML を生成しています。このスプレッドシートの XML を既定で Excel で開きたいです。したがって、以下のプロパティを応答に追加します。

Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "Attachment;Filename=export.xls");
Response.Charset = "";

ただし、これには 2 つの問題があります。まず、以下のメッセージが表示されます。

The file you are trying to open, 'Response.xls', is in a different format than specified by the file extension. Verify that the file is not corrupted and is from a trusted source before opening the file. Do you want to open the file now?

次に、保存しようとすると、デフォルトで .xml ファイルとして保存しようとします。これをデフォルトでExcelファイルとして保存したいのですが、これを行う方法を知っている人はいますか?

4

2 に答える 2

-1

ここで遅くなりましたが、誰かがこの問題に遭遇した場合、これが私が解決した方法です。

拡張子がそれほど重要ではなく、XSLT を使用している場合は、Tim C が XSLT ファイルについて説明したことを実行して、次を追加できます。

<xsl:processing-instruction name="mso-application">
  <xsl:text>progid="Excel.Sheet"</xsl:text>
</xsk:processing-instruction>

次に、コードで、拡張子を .xls ではなく .xml にします。

Response.AddHeader("Content-Disposition", "Attachment;Filename=export.xml");

これにより、拡張子が .xml のファイルがエクスポートされますが、既定では、変換ファイルに存在するすべてのスタイルを保持しながら、MS Excel 2007 でエラーなしで開きます。

これが誰かに役立つことを願っています。

于 2015-04-06T13:56:51.460 に答える