質問

DisplayTagを使用してExcelドキュメントをエクスポートします。.xls ファイルとしてデスクトップに保存されます。Excel で開くと、次のエラーが表示されます。

「開こうとしているファイル「filename.xls」は、ファイル拡張子で指定された形式とは異なります。ファイルを開く前に、ファイルが破損しておらず、信頼できるソースからのものであることを確認してください。」

「はい」をクリックすると、Excel に問題なく表示されます。TextPadでこれを開くと、それはバイナリファイルであることがわかりますが、「」だけのようです。区切られた文字列。

何が間違っていたのか、あるいは次にこれをどのようにデバッグすればよいのか、何かアイデアはありますか?

編集::

拡張子を .txt に変更すると、それはバイナリ ファイルではなくなります。これは単なる区切り文字列のリストです。

役に立ちましたか?

解決 2

Excelのデフォルトのエクスポートクラスは、CSVクラスに設定されますが、それを.xls拡張子を与えていました。

:displaytag.propertiesを変更すると、ここで何かキーでした
export.types=csv excel xml rtf pdf 
export.excel=true
export.xml=true
export.csv=true
export.rtf=false
export.pdf=false
export.excel.class=org.displaytag.export.excel.DefaultHssfExportView
export.pdf.class=org.displaytag.export.DefaultPdfExportView
export.rtf.class=org.displaytag.export.DefaultRtfExportView
export.excel.filename=data.xls
export.pdf.filename=data.pdf
export.xml.filename=data.xml
export.csv.filename=data.csv
export.rtf.filename=data.rtf

他のヒント

Excel 2007 を使用していますか?らしい 知られている 問題:

Excel 2007にアップグレードした後、場合によっては、次のエラーが発生する場合があります。.xlsxを開こうとしているファイルは、ファイル拡張子で指定されているのとは異なる形式です。ファイルを開く前に、ファイルが破損しておらず、信頼できるソースからのものであることを確認してください。今すぐファイルを開きますか?

このエラーは、XLS ファイル (Excel 2000 ~ 2003) を Excel 2007 で開こうとしているときに特に発生します。ほとんどの場合、この問題は MIME タイプを定義し、拡張子に関連付けることで解決できます。

...

ただし、解決策を探すのではなく、問題を解決したいだけの場合は、次のキーをレジストリに挿入して通知を抑制します。

[HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Security] “ExtensionHardening”=dword:00000000

以下を実行することで上記を実現できます。

  1. レジストリを開きます(start-> run-> regedit.exe)
  2. 案内するHKEY_CURRENT_USER\SOFTWARE\MICROSOFT\OFFICE\12.0\EXCEL\SECURITY
  3. 右ウィンドウを右クリックして選択します 新しい -> DWORD
  4. タイプ "伸長硬化」名前として(引用符なし)
  5. データに値があることを確認します」0

あなたはあなたの特性ファイルの行の下に追加する必要があります:

export.excel.class=org.displaytag.export.excel.DefaultHssfExportView
export.pdf.class=org.displaytag.export.DefaultPdfExportView

しかし、これは出力し、現在のページレコードだけではなく完全なリストます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top