Ich verwende Apache POI API
zum Generieren, excel spreadsheet
um einige Daten auszugeben.
Das Problem, mit dem ich konfrontiert bin, besteht darin, dass beim Erstellen und Öffnen der Tabelle Spalten nicht erweitert werden, sodass Langtext wie datumsformatierter Text nicht auf den ersten Blick angezeigt wird.
Ich könnte einfach auf den Spaltenrand in Excel doppelklicken, um ihn zu erweitern, oder den Rand ziehen, um die Spaltenbreite anzupassen, aber es könnten mehr als 20 Spalten vorhanden sein, und ich möchte dies auf keinen Fall jedes Mal manuell tun, wenn ich die Tabelle öffne :(
Ich fand es heraus (obwohl es eine falsche Methode sein könnte ) groupRow()
und setColumnGroupCollapsed()
könnte den Trick machen, aber kein Glück. Vielleicht benutze ich es falsch.
Beispielcode-Snippet
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");
Wenn diese Tabelle erstellt wird, befindet sich die Zeichenfolge "Looooooong-Text, der nicht zuerst angezeigt wird" in der Zelle. Da die Spalte jedoch nicht erweitert wird, wird nur "Loooooooo" angezeigt.
Wie kann ich es so konfigurieren, dass beim Öffnen meiner Tabelle die Spalte bereits erweitert wird?