私はいくつかのデータを出力Apache POI API
するために生成するために使用しています。excel spreadsheet
私が直面している問題は、スプレッドシートを作成して開いたときに列が展開されないため、日付形式のテキストなどの長いテキストが一見表示されないことです。
Excelで列の境界線をダブルクリックして拡大するか、境界線をドラッグして列の幅を調整することもできますが、20以上の列が存在する可能性があり、スプレッドシートを開くたびに手動でそれを行う方法はありません:(
私は(間違った方法かもしれませんが)それを見つけてgroupRow()
、setColumnGroupCollapsed()
トリックを行うことができるかもしれませんが、運がありません。多分私はそれを間違った方法で使用しています。
サンプルコードスニペット
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");
このスプレッドシートを作成すると、「Looooooongテキストが最初に表示されない」という文字列がセルに表示されますが、列が展開されていないため、「Loooooooo」のみが表示されます。
スプレッドシートを開いたときに列が既に展開されるように構成するにはどうすればよいですか?