Displaytag es la exportación de CSV en un archivo .xls
-
23-09-2019 - |
Pregunta
puedo exportar un documento de Excel con DisplayTag. Se guarda como un archivo .xls a mi escritorio. Cuando lo abro con Excel, esto muestra el error:
"El archivo que está intentando abrir, 'filename.xls', está en un formato diferente al especificado por la extensión de archivo. Compruebe que el archivo no está dañado y es de una fuente confiable antes de abrir el archivo."
Si hago clic en "Sí", se muestra muy bien en Excel. Si abro esto con Textpad, veo que es un archivo binario, pero parece ser sólo "" cadenas delimitadas.
Alguna idea de lo que me pudieran hacer mal hecho, o cómo junto a depurar este?
editar :
Si cambio la extensión a .txt, que no es un archivo binario; es simplemente una lista de cadenas delimitadas.
Solución 2
La clase de exportación predeterminado para Excel se establece en la clase CSV, pero dándole la extensión .xls. Cambiando displaytag.properties fue la clave aquí, algo como:
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
Otros consejos
¿Está usted en Excel 2007? Parece ser un problema conocido :
En algunos casos después de actualizar a Excel 2007, puede recibir el siguiente error: El archivo que está intentando abrir .xlsx está en un formato diferente al de especificado por la extensión de archivo. verificar que el archivo no está dañado y es de fuente de confianza antes de la apertura el archivo. ¿Quieres abrir el archivo ahora?
Este error se produce sobre todo cuando se está intentando abrir un archivo XLS (Excel 2000-2003) con Excel 2007. En la mayoría de los casos, el problema puede ser resuelto mediante la definición de los tipos MIME y asociándolos con extensiones.
...
Sin embargo, si no se quiere buscar una solución, pero sólo quiere resolver el problema, insertar esta clave en el registro para suprimir la notificación:
[HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 12.0 \ Excel \ Security] “ExtensionHardening” = dword: 00000000
Se puede lograr lo anterior mediante el procedimiento siguiente:
- Abra su Registro (Inicio -> Ejecutar -> regedit.exe)
- Vaya a HKEY_CURRENT_USER \ SOFTWARE \ MICROSOFT \ Office \ 12.0 \ Excel \ SECURITY
- Haz clic derecho en la ventana derecha y elija Nueva -> DWORD
- Tipo “ ExtensionHardening ” como el Nombre (sin las comillas)
- Verificar que los datos tiene el valor “ 0 "
Es necesario añadir el siguiente líneas en el archivo de propiedades:
export.excel.class=org.displaytag.export.excel.DefaultHssfExportView
export.pdf.class=org.displaytag.export.DefaultPdfExportView
Pero esta salidas del registro de página actual y no la lista completa.