Sto utilizzando Apache POI API
per generare excel spreadsheet
per l'output di alcuni dati.POI Apache Excel: come configurare le colonne da espandere?
Il problema che sto affrontando è quando il foglio di calcolo viene creato e aperto, le colonne non vengono espanse in modo che alcuni testi lunghi come il testo formattato per Data non vengano visualizzati a prima vista.
Posso semplicemente fare doppio clic sul bordo della colonna in Excel per espandere o trascinare il bordo per regolare la larghezza della colonna, ma potrebbero esserci più di 20 colonne e non è possibile che lo faccia manualmente ogni volta che apro il foglio di calcolo: (
ho scoperto (anche se potrebbe essere il metodo sbagliato) groupRow()
e setColumnGroupCollapsed()
potrebbe essere in grado di fare il trucco, ma senza fortuna. Forse sto usando in modo sbagliato.
codice di esempio frammento
Workbook wb = new HSSFWorkbook();
CreationHelper createHelper = wb.getCreationHelper();
//create sheet
Sheet sheet = wb.createSheet("masatoSheet");
//not really working yet.... :(
//set group for expand/collapse
//sheet.groupRow(0, 10); //just random fromRow toRow argument values...
//sheet.setColumnGroupCollapsed(0, true);
//create row
Row row = sheet.createRow((short)0);
//put a cell in the row and store long text data
row.createCell(0).setCellValue("Loooooooong text not to show up first");
Quando questo foglio di calcolo viene creato, la stringa "Looooooong text not to show first" è nella cella ma poiché la colonna non è espansa, viene visualizzato solo "Loooooooo".
Come posso configurarlo in modo tale che quando apro il mio foglio di calcolo, la colonna sia già espansa ???
http://stackoverflow.com/questions/20190317/apache-poi-excel-big- auto-column-width – gavenkoa
Sembra che tu stia cercando un modo per utilizzare POI per raggiungere questo obiettivo. Ma per farlo semplicemente in Excel selezionare l'intero foglio e fare doppio clic sul bordo di intestazione della colonna A-B. Se hai bisogno di fare questo a diversi fogli, una soluzione codificata può servire meglio. – avg