Sto usando Apache POI per creare fogli di calcolo xls. C'è un modo per rilevare se i dati si adattano in modalità verticale o se devo impostare il foglio in modalità orizzontale? So come impostare le modalità, ma non so come scoprire se i dati soddisfano l'attuale orientamento di stampa.Rileva l'orientamento di stampa necessario con Apache POI
risposta
Ho provato ma non vedo un modo per farlo funzionare.
Quando si crea la cartella di lavoro, poi si imposta automaticamente Altezza e Larghezza su 1 ciascuno.
Adatta altezza è il numero di pagine di alta per adattarsi foglio
e
Adatta larghezza è il numero di pagine larghe per adattarsi foglio
A meno che non si imposti l'altezza e la larghezza di stampa del foglio su un valore più elevato, ad esempio
sheet.getPrintSetup().setFitHeight((short)10);
System.out.println (sheet.getPrintSetup().getFitWidth());
System.out.println (sheet.getPrintSetup().getFitHeight());
ritornano sempre 1 e 1
Il problema è Excel sarà sempre comprimere i dati (in termini di dimensioni zoom) fino al 10% per adattare il layout di pagina 1 x 1. [In MS_Excel, questo si presenta come Print Preview > Page Setup > Scaling > Down to X% of actual size
]
Una volta che lo zoom è al 10%, quindi trabocca i dati nella pagina 2 e così via.
Ho provato un foglio con un sacco di dati e persino inviato un gran PrintArea
workBook.setPrintArea(
0, //sheet index
0, //start column
50, //end column
0, //start row
520 //end row
);
su una varietà di formati di stampa.
sheet.getPrintSetup().setPaperSize((short)11); // A5
Così il default stampabile zona/orientamento non vengono modificati se non vengono sostituite, in modo da non penso che i dati possono essere rilevati ad essere più grande dell'area di stampa - che è quello che si sta cercando di ottenere.
Questo potrebbe essere uno per le mailing list POI.
Aggiornamento per includere il collegamento a questa discussione sulle mailing list POI come già richiesto dall'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());
Non ha funzionato per me, ma se cambio setFitHeight a 1 da 0, allora ha funzionato –
- 1. Interruzioni pagina apache poi
- 2. Importazione di dati CSV con POI Apache
- 3. Apache POI rows number
- 4. Prestazioni POI Apache
- 5. Apache POI Errore di analisi
- 6. Rileva tasti di stampa
- 7. POI Apache: SXSSFWorkbook.dispose() inesistente
- 8. Formato data apache poi
- 9. Converti Word in HTML con Apache POI
- 10. Apache POI SXSSF e XSSF
- 11. Apache POI valuta Data Format
- 12. Jython autonomo: errore di importazione (Apache-POI)
- 13. Excel Elenco a discesa utilizzando Apache POI
- 14. Errore di lettura Excel .XLSX con Apache POI
- 15. Apache POI Streaming (SXSSF) per la lettura
- 16. Apache POI Excel Tot. Tabella Minore
- 17. Apri EXISTING xls in POI Apache
- 18. Imposta formato data utilizzando Apache POI
- 19. POI Apache - Come proteggere il foglio con le opzioni?
- 20. Aggiungere note a una diapositiva di PowerPoint utilizzando Apache POI
- 21. Come posso creare un semplice file docx con POI Apache?
- 22. Tentativo di eseguire il porting di POI Apache su Android
- 23. Apache POI XSSFColor dal codice esadecimale
- 24. HSSFWorkbook vs XSSFWorkbook vs SXSSFWorkbook - Apache POI
- 25. Impostazione larghezza colonna in POI Apache
- 26. Aggiorna tabella pivot utilizzando Apache POI
- 27. leggere il file excel utilizzando Apache POI
- 28. Java Apache POI Excel salva come PDF
- 29. POI di Apache - Problema di emissione di Docx
- 30. anno di ingresso, poi il calendario di stampa
Ho già fatto questa domanda sul POI mailing list e non ha ottenuto una risposta. Oh beh ... forse la risposta è che non è possibile - come hai detto tu. Aspetterò un altro paio di giorni e vedrò se qualcuno si presenta con una soluzione (ne dubito comunque) – black666