[]
克隆工作簿使您能够在任何时候创建工作簿的精确副本。克隆的工作簿将作为备份,确保如果您进行了任何意外更改或需要恢复到先前版本,您有正确的版本可用。GcExcel 提供了 Workbook 类的 clone 方法,使用户能够克隆当前工作簿。该方法返回一个新实例,它是当前工作簿的精确副本。
注意: 克隆方法可处理用户定义类型,这些类型是用户创建的自定义类型。如果这些用户定义类型中的任何一个实现了此方法,工作簿克隆过程将使用此方法创建对象的完整、独立副本。这意味着新工作簿将是一个真正的克隆,原始工作簿的所有数据和属性都将被复制。
数据源 (Workbook.addDataSource)
标签 (IRange.setTag)
默认值 (IRange.setDefaultValue)
单元格类型 (复选框列表/单选按钮列表单元格类型的选定项可以是自定义对象)
自定义对象 (IRange.setValue)
但是,如果用户定义类型未实现该方法,工作簿克隆过程将进行浅拷贝。克隆的工作簿将与原始工作簿共享对相同实例的引用,而不是创建独立副本。这意味着对克隆工作簿的更改可能会影响原始工作簿,因为它们将指向相同的底层对象。
注意: Workbook/Worksheet 实例中的事件不会被克隆。如果您需要保留原始事件,必须在克隆的工作簿中重新注册它们。
请参考以下示例代码来克隆工作簿并从克隆的工作簿中删除第一个工作表:
// 创建新工作簿。
Workbook workbook = new Workbook();
// 打开 Excel 文件。
workbook.open("BreakEven.xlsx");
// 克隆工作簿。
IWorkbook clone = workbook.clone();
// 删除第一个工作表。克隆工作簿中的任何更改都不会影响原始工作簿。
clone.getWorksheets().get(0).delete();
// 保存 Excel 文件。
workbook.save("CloneWorkbook.xlsx");