1

vb.netフレームワーク3.5を使用してsqlServerからMSExcelファイルにデータをエクスポートしようとしていますが、ファイルを保存すると保存または開くダイアログが開きますが、ファイルにアクセスしようとすると、 「ファイル形式またはファイル拡張子が無効なため、Excelはファイル'generated.xlsx'を開くことができません。ファイルが破損していないこと、およびファイル拡張子がファイルの形式と一致していることを確認してください」というメッセージが表示されます。MSOffice2007をインストールしました。

PS私はテンプレートExcelドキュメントを取り、それにデータをマージして別のドキュメントを作成します。

私のコードは次のとおりです

    Response.Clear()
    Response.ContentType = "application/ms-excel"
    Response.AddHeader("Content-Disposition", "attachment;filename=generated.xlsx")
    ExportToExcel(dt)
    Response.Flush()
    Response.End()

そして、web.configファイルに以下を追加しました

4

1 に答える 1

2

ファイルの名前を .xls に変更してみてください。それが機能する場合は、拡張子を .xlsx から変更するか、MIME タイプを変更する必要があります。

Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"

Office 2007 のその他の MIME タイプについては、 http://technet.microsoft.com/en-us/library/ee309278 (v=office.12).aspx を参照してください。

以前の投稿を明確にするために、保存したファイルに移動して、拡張子を .xls に変更しましたか? Excel ファイルを Office 2003 として保存し、拡張子を .xlsx に変更すると、「ファイル形式またはファイル拡張子が無効なため、Excel でファイルを開くことができません」というエラー メッセージが表示されます。

于 2012-09-18T14:46:49.227 に答える