Domanda

I esportare un documento Excel con DisplayTag. Si salva come file .xls al mio desktop. Quando ho aperto con Excel, questo display di errore:

"Il file che si sta tentando di aprire, 'filename.xls', è in un formato diverso da quello specificato dal l'estensione del file. Verificare che il file non sia danneggiato ed è da una fonte attendibile prima di aprire il file."

Se faccio clic su "Sì", viene visualizzato bene in Excel. Se apro questo con Textpad, vedo che si tratta di un file binario, ma sembra essere solo "" stringhe delimitate.

Tutte le idee che potrei avere torto fatto, o come vicino al debug di questo?

modifica: :

Se cambio l'estensione a .txt, non è un file binario; è semplicemente una lista di stringhe delimitate.

È stato utile?

Soluzione 2

La classe di esportazione predefinita per Excel è stato impostato per la classe CSV, ma dandogli l'estensione .xls. Cambiare displaytag.properties è stata la chiave qui, qualcosa di simile:

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

Altri suggerimenti

Sei in Excel 2007? Sembra essere un problema noto :

  

In alcuni casi, dopo l'aggiornamento a Excel   2007, è possibile ottenere il seguente errore:   Il file che si sta tentando di aprire .xlsx   è in un formato diverso rispetto   specificato dall'estensione del file.   Verificare il file non sia danneggiato e   è da fonte attendibile prima dell'apertura   il file. Vuoi aprire il file   ora?

Questo errore si verifica quando in particolare si sta cercando di aprire un file XLS (Excel 2000-2003) con Excel 2007. Nella maggior parte dei casi, il problema può essere risolto attraverso la definizione di tipi MIME e associandoli con le estensioni.

...

Tuttavia, se non si vuole cercare una soluzione, ma vuole solo risolvere il problema, inserire la chiave nel Registro di sistema per eliminare la notifica:

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

Si può realizzare quanto sopra facendo il seguente:

  1. Aprire il Registro di sistema (Start -> Esegui -> regedit.exe)
  2. Spostarsi HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 12.0 \ EXCEL \ Sicurezza
  3. Fare clic destro nella finestra di destra e     scegli Nuovo -> DWORD
  4. Digitare “ ExtensionHardening ”, come il Nome (senza le virgolette)
  5. Verifica che i dati ha il valore “ 0 "

È necessario aggiungere il seguito righe nel file proprietà:

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

Ma queste uscite il record pagina corrente e non la lista completa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top