在apache poi中excel中的表单排序

niv*_*hmi 2 java xls apache-poi

我想在使用java中的apache poi将其写入xls文档之前重新排列生成的工作表.这有什么办法吗?例如:表格名称为"RF for 10","Blended for 10","RF for 30","Blended for 30".

我希望xls按以下顺序生成:"RF for 10","RF for 30","Blended for 10","Blended for 30".

rge*_*man 12

您可以setSheetOrder使用Workbook类的方法重新排列工作簿中工作表的顺序.


Jes*_*hez 6

您可以在书籍的特定位置创建新工作表。

 * Create a new sheet in a specific position of the book, if the sheet name has
 * 32 characters or more the method createSafeSheetName get 31 characters and
 * remove unsafe characters
 * 
 * @param book      book of excel
 * @param nameSheet Sheet name
 * @param position  index of the new sheet

 * @return
 */
protected Sheet createSheet(XSSFWorkbook book, String nameSheet, Integer positionSheet) {
    Sheet sheet = book.createSheet(WorkbookUtil.createSafeSheetName(nameSheet));
    book.setSheetOrder(sheet.getSheetName(), positionSheet);
    return sheet;
}
Run Code Online (Sandbox Code Playgroud)