Estoy utilizando Apache POI para crear hojas de cálculo xls. ¿Hay alguna manera de detectar si los datos se ajustan en modo retrato o si tengo que configurar la hoja en modo horizontal? Sé cómo configurar los modos, pero no sé cómo averiguar si los datos se ajustan a la orientación de impresión actual.Detectar la orientación de impresión necesaria con Apache POI
Respuesta
Lo he intentado pero no puedo ver la manera de hacerlo funcionar.
Cuando crea el libro de trabajo, poi establece por defecto el alto y el ancho de ajuste a 1 cada uno.
Fit altura es el número de páginas de alta para encajar hoja en
y
Fit Ancho es el número de páginas de ancho para encajar hoja en
A menos que configure la altura y el ancho de la impresión de la hoja a un valor más alto como ese,
sheet.getPrintSetup().setFitHeight((short)10);
System.out.println (sheet.getPrintSetup().getFitWidth());
System.out.println (sheet.getPrintSetup().getFitHeight());
siempre devuelven 1 y 1
El problema es Excel siempre se comprimirá los datos (en tamaño de zoom) hasta el 10% para ajustar el diseño de la página 1 x 1. [En MS_Excel, esto aparece como Print Preview > Page Setup > Scaling > Down to X% of actual size
]
Una vez que el zoom está al 10%, desborda los datos en la página 2 y así sucesivamente.
que he probado una hoja con una gran cantidad de datos e incluso envió una gran PrintArea
workBook.setPrintArea(
0, //sheet index
0, //start column
50, //end column
0, //start row
520 //end row
);
en una variedad de tamaños de impresión.
sheet.getPrintSetup().setPaperSize((short)11); // A5
Así que el defecto de impresión/zona de orientación no se cambian a menos que anule ellos, así que no creo que los datos pueden ser detectados a ser mayor que el área de impresión - que es lo que está tratando de obtener.
Esto podría ser uno para las listas de correo POI.
Actualizado para incluir un enlace a esta discusión en las listas de correo POI como ya ha pedido OP.
http://mail-archives.apache.org/mod_mbox/poi-user/201010.mbox/%[email protected]%3e
HSSFPrintSetup printSetup = sheet.getPrintSetup();
sheet.getPrintSetup().setFitWidth((short) 1);
sheet.getPrintSetup().setFitHeight((short) 0);
sheet.setAutobreaks(true);
printSetup .setLandscape(true);
HSSFFooter footer = wygSheet.getFooter();
footer.setCenter("Page " + HSSFFooter.page() + " of "+ HSSFFooter.numPages());
No funcionó, pero si cambio el setFitHeight a 1 de 0, entonces funcionó –
- 1. Apache POI Word tutorial.
- 2. Importación de datos CSV con Apache POI
- 3. Apache poi date format
- 4. Actualizar tabla dinámica con Apache POI
- 5. Desactivar orientación pero detectar orientación
- 6. Apache POI: fuentes Partial Cell
- 7. Apache POI: SXSSFWorkbook.dispose() no existe
- 8. Problema de salida de POI de Apache
- 9. Apache POI - Problema de salida de Docx
- 10. Lectura de datos de xlsx con SIXSSFSheet de Apache POI
- 11. Uso de plantillas de Excel con Apache POI
- 12. Formato de moneda básico de Excel con Apache POI
- 13. Apache POI excepción de archivos xlsx lectura
- 14. Algoritmo para detectar la orientación de la foto
- 15. Aprendizaje de POI de Apache para Java
- 16. Cómo detectar orientación de la imagen (texto)
- 17. Crear tabla de Excel utilizando Apache POI
- 18. Limitación al generar lista desplegable de Excel con Apache POI
- 19. Lista desplegable de Excel usando Apache POI
- 20. Agregar notas a una diapositiva de Powerpoint con Apache POI
- 21. Copiar hoja de Excel usando Apache POI
- 22. Apache POI XSSFColor del código hexadecimal
- 23. Apache POI, usando tanto XSSF como HSSF
- 24. ¿Cómo puedo crear un archivo docx simple con Apache POI?
- 25. Necesito ayuda para apache poi leyendo xls con XSSF
- 26. Intentando portar Apache POI a Android
- 27. no puede importar XSSF en Apache POI
- 28. detectar la orientación iPhone/iPad no trabaja
- 29. Detectar la orientación de la pantalla del iPhone
- 30. Nombre una celda con POI
ya hice esta pregunta en la lista de correo de puntos de interés y no recibió una respuesta. Bueno, la respuesta es que no es posible, como mencionaste. Esperaré otro par de días y veré si alguien encuentra una solución (aunque lo dudo) – black666