2010-03-02 4 views
0

J'exporte un document Excel avec DisplayTag. Il enregistre en tant que fichier .xls sur mon bureau. Lorsque je l'ouvre avec Excel, cette erreur s'affiche:Displaytag exporte CSV dans un fichier .xls

"Le fichier que vous essayez d'ouvrir, 'nom_fichier.xls', est dans un format différent de celui spécifié par l'extension .Vérifiez que le fichier n'est pas corrompu. provient d'une source fiable avant d'ouvrir le fichier. "

Si je clique sur "Oui", il affiche très bien dans Excel. Si j'ouvre ceci avec Textpad, je vois que c'est un fichier binaire, mais il semble juste être "." chaînes délimitées.

Des idées de ce que j'ai pu faire de mal, ou comment faire pour le déboguer?

modifier::

Si je change l'extension txt, ce n'est pas un fichier binaire; c'est simplement une liste de chaînes délimitées.

Répondre

1

La classe d'exportation par défaut pour Excel a été mis à la classe CSV, mais en lui donnant l'extension .xls. Changer le tag d'affichagepropriétés était la clé ici, quelque chose comme:

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 
+0

Salut, j'essaie cette solution sur la version 1.1 et ne fonctionne pas pour moi, mon fichier ne changent pas de csv à exceller. – Ricardo

3

Êtes-vous sur Excel 2007? Il semble être un problème known:

In some cases after upgrading to Excel 2007, you may get the following error: The file you are trying to open .xlsx is in a different format than specified by the file extension. verify the file is not corrupted and is from trusted source before opening the file. Do you want to open the file now?

Cette erreur se produit en particulier lorsque vous essayez d'ouvrir un fichier XLS (Excel 2000 à 2003) avec Excel 2007. Dans la plupart des cas, le problème peut être résolu en définissant MIME types et en les associant à des extensions.

...

Cependant, si vous ne voulez pas chercher une solution, mais tout simplement pour résoudre le problème, insérez cette clé dans votre base de registre pour supprimer la notification:

[ HKEY_CURRENT_USER \ Software \ Microsoft \ office \ 12.0 \ Excel \ Security] « ExtensionHardening » = dword: 00000000

Vous pouvez accomplir ce qui précède en procédant comme suit:

  1. Ouvrez votre base de registre (Démarrer -> Exécuter -> regedit.exe)
  2. Accédez à HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Office \ 12.0 \ EXCEL \ SECURITY
  3. Faites un clic droit dans la fenêtre de droite et choisir New ->DWORD
  4. type « ExtensionHardening » comme nom (sans les guillemets)
  5. Ve rify que les données a la valeur « "
+0

Merci beaucoup! Cette page semble être bloquée au pare-feu de mon entreprise, mais c'est exactement ce que je cherchais. –

+0

Rotation en arrière, non, ce n'était pas ça. : -/ –

+0

Hmm .. ajouté quelques détails supplémentaires à partir du fil si vous ne pouvez pas accéder à partir du bureau .. –

0

Vous devez ajouter les lignes ci-dessous dans votre fichier de propriétés:

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

Mais cette commande affiche l'enregistrement en cours de page uniquement et non la liste complète.

Questions connexes