В настоящее время spreadsheet.import()
изменит активную книгу на только что импортированную книгу; в этом случае book1.xlsx
. Таким образом, исходный лист не удаляется, а просто не активен (невидим).
Следовательно, srcBook
фактически равно spreadsheet.getWorkbook()
после импорта. Когда вы копируете srcBook.getWorksheet()
в spreadsheet.getWorkbook()
, вы копируете лист в той же книге. Вы увидите 2 дубликата листа в активной книге.
Обходной путь:
final Workbook book = spreadsheet.getWorkbook();
Workbook srcBook = spreadsheet.imports("book1.xlsx", new File(BOOK_FOLDER, "book1.xlsx"));
srcBook.getWorksheet().copyToEnd(book);
spreadsheet.setActiveWorkbook(book.getName());
System.out.println("currentBook: spreadsheet.getWorkbook():" + spreadsheet.getWorkbook().getName());
В будущей версии spreadsheet.imports()
не должен автоматически изменять активную рабочую книгу, если только она не является единственной рабочей книгой, связанной с приложением.