spreadsheet - 使用 copyToEnd() 复制工作表
问题描述
我正在试用 Keikai 电子表格。导入 excel 文件后,我想使用 copyToEnd() 复制工作表,但它会删除我的原始工作表。我做错了吗?
Workbook srcBook = spreadsheet.imports("book1", new File(BOOK_FOLDER, "book1.xlsx"));
srcBook.getWorksheet().copyToEnd(spreadsheet.getWorkbook());
解决方案
目前,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()
不应自动更改活动工作簿,除非它是唯一绑定到应用程序的工作簿。
推荐阅读
- android - 以编程方式更改Android中导航手势栏和图标的颜色
- data-structures - FlatBuffers 中的偏移量大小是多少?
- c - 为什么 MISRA-C 检查器提供错误检查 STM32 HAL?
- leaflet - 如何将leaflet.markercluster 插件添加到我的代码中?
- glib - g_signal_connect 调用中的“通知”是什么意思?
- python - GRU 模型,accuracy 和 val_accuracy 始终为 0.0000e+00
- mysql - CONCAT 和 INNER JOIN - 使用查找表进行一对多关系
- image - 使用 Java 和 iCAFE 更新元数据
- wso2 - WSO2 EI 6.5.0 - 使用 AWS SQS 时出现 NHTTP 协议冲突错误
- excel - 根据给定的组合框的特定值添加数据?