Używam Apache POI API
do generowania excel spreadsheet
, aby wyprowadzić niektóre dane.Apache POI Excel - jak skonfigurować kolumny do rozwinięcia?
Problem, przed którym stoję, to tworzenie i otwieranie arkusza kalkulacyjnego, kolumny nie są rozwijane, więc na pierwszy rzut oka nie wyświetla się jakiś długi tekst, taki jak tekst sformatowany w formacie Data.
Mogę tylko dwukrotnie kliknąć krawędź kolumny w programie Excel, aby rozwinąć lub przeciągnąć krawędź, aby dostosować szerokość kolumny, ale może być ponad 20 kolumn i nie ma możliwości, aby to zrobić ręcznie przy każdym otwarciu arkusza kalkulacyjnego: (
i okazało się (choć może być niewłaściwy sposób) groupRow()
i setColumnGroupCollapsed()
może być w stanie załatwić sprawę, ale bez powodzenia. może używam go w niewłaściwy sposób.
Kod Przykładowy fragment
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");
Po utworzeniu tego arkusza kalkulacyjnego tekst "tekst Looooooong nie wyświetla się pierwszy" znajduje się w komórce, ale ponieważ kolumna nie jest rozwinięta, wyświetla się tylko "Loooooooo".
Jak mogę to skonfigurować, aby po otwarciu arkusza kalkulacyjnego kolumna była już rozszerzona?
http://stackoverflow.com/questions/20190317/apache-poi-excel-big- auto-column-width – gavenkoa
Wygląda na to, że szukasz sposobu na wykorzystanie punktów POI, aby to osiągnąć. Ale aby to zrobić, wystarczy w Excelu wybrać cały arkusz i dwukrotnie kliknąć granicę nagłówka kolumny A-B. Jeśli chcesz to zrobić na kilku arkuszach, zakodowane rozwiązanie może ci lepiej służyć. – avg