[]
XlsmOpenOptions, XltxOpenOptions使用此类配置如何通过 Workbook.open(String,OpenOptionsBase) 或其他接受OpenOptionsBase 的打开重载加载工作簿。它支持文件密码、导入标志、加载后的重新计算行为、行自动调整行为和仅数字签名模式等设置。
XlsxOpenOptions options = new XlsxOpenOptions();
String password = getWorkbookPassword();
options.setPassword(password);
options.setDoNotRecalculateAfterOpened(true);
workbook.open("path/to/workbook.xlsx", options);
final booleanfinal booleanfinal booleanfinal EnumSet<ImportFlags>final InvalidFormulaHandlingInvalidFormulaHandling.Throw。final Stringfinal voidsetDigitalSignatureOnly(boolean value) final voidsetDoNotAutoFitAfterOpened(boolean value) final voidsetDoNotRecalculateAfterOpened(boolean value) final voidsetImportFlags(EnumSet<ImportFlags> value) final voidInvalidFormulaHandling.Throw。final voidsetPassword(String value) getFileFormat, setFileFormat此构造函数初始化用于OpenFileFormat.Xlsx 格式的 XlsxOpenOptions 实例。在将返回的对象传递给 Workbook.open(String,OpenOptionsBase) 或相关打开重载之前,可使用它配置密码、导入行为、重新计算行为、行自动调整行为或仅数字签名模式等设置。
XlsxOpenOptions options = new XlsxOpenOptions();
String password = getWorkbookPassword();
options.setPassword(password);
options.setDoNotRecalculateAfterOpened(true);
workbook.open("path/to/workbook.xlsx", options);
在打开受密码保护的 xlsx 文件之前,使用此方法检索在此 XlsxOpenOptions实例上配置的密码。
XlsxOpenOptions options = new XlsxOpenOptions();
String configuredPassword = getWorkbookPassword();
options.setPassword(configuredPassword);
String password = options.getPassword();
workbook.open("path/to/workbook.xlsx", options);
在打开受密码保护的 xlsx 文件之前,使用此方法可设置此 XlsxOpenOptions 实例上的密码。
XlsxOpenOptions options = new XlsxOpenOptions();
String password = getWorkbookPassword();
options.setPassword(password);
workbook.open("path/to/workbook.xlsx", options);
value - xlsx 文件的密码。使用这些选项打开工作簿时会使用返回的标志。默认值为空的 EnumSet,等同于 .NET 值 ImportFlags.NoFlag,表示不应用选择性导入标志而导入工作簿内容。
XlsxOpenOptions options = new XlsxOpenOptions();
options.setImportFlags(EnumSet.of(ImportFlags.Data, ImportFlags.Formulas));
EnumSet<ImportFlags> importFlags = options.getImportFlags();
workbook.open("path/to/workbook.xlsx", options);
EnumSet。使用这些选项打开工作簿时会使用返回的标志。默认值为空的 EnumSet,等同于 .NET 值 ImportFlags.NoFlag,表示不应用选择性导入标志而导入工作簿内容。
XlsxOpenOptions options = new XlsxOpenOptions();
options.setImportFlags(EnumSet.of(ImportFlags.Data, ImportFlags.Formulas));
workbook.open("path/to/workbook.xlsx", options);
value - 指定加载工作簿数据所用导入标志的 EnumSet。默认值为 false。
当此属性为 true 时,带有缓存结果的公式在打开后不会被标记为 dirty,因此触发计算时会返回缓存的公式结果。没有缓存结果的公式仍会被标记为 dirty,并在触发计算时重新计算。当此属性为 false 时,公式在打开后会被标记为 dirty,因此触发计算时会重新计算公式结果。可以通过获取公式值或调用 Workbook.calculate() 等操作触发计算。
XlsxOpenOptions openOptions = new XlsxOpenOptions();
openOptions.setDoNotRecalculateAfterOpened(true);
boolean doNotRecalculate = openOptions.getDoNotRecalculateAfterOpened();
workbook.open("source.xlsx", openOptions);
true;否则为 false。默认值为 false。
当此属性为 true 时,带有缓存结果的公式在打开后不会被标记为 dirty,因此触发计算时会返回缓存的公式结果。没有缓存结果的公式仍会被标记为 dirty,并在触发计算时重新计算。当此属性为 false 时,公式在打开后会被标记为 dirty,因此触发计算时会重新计算公式结果。可以通过获取公式值或调用 Workbook.calculate() 等操作触发计算。
XlsxOpenOptions openOptions = new XlsxOpenOptions();
openOptions.setDoNotRecalculateAfterOpened(true);
workbook.open("source.xlsx", openOptions);
value - 如果打开 XLSX 文件后跳过将公式标记为 dirty,则为 true;否则为 false。在仅数字签名模式下,除非调用 ISignature.delete(),否则会保留现有签名。在此模式下,可以对现有签名行进行签名、添加不可见签名、移除已签名签名行的数字签名或移除不可见签名。其他更改将被丢弃。
修改数字签名后,请保存工作簿以提交更改。
XlsxOpenOptions options = new XlsxOpenOptions();
options.setDigitalSignatureOnly(true);
boolean digitalSignatureOnly = options.getDigitalSignatureOnly();
workbook.open("path/to/workbook.xlsx", options);
true;否则返回 false。默认值为 false。在仅数字签名模式下,除非调用 ISignature.delete(),否则会保留现有签名。在此模式下,可以对现有签名行进行签名、添加不可见签名、移除已签名签名行的数字签名或移除不可见签名。其他更改将被丢弃。
修改数字签名后,请保存工作簿以提交更改。
XlsxOpenOptions options = new XlsxOpenOptions();
options.setDigitalSignatureOnly(true);
workbook.open("path/to/workbook.xlsx", options);
value - 如果工作簿配置为以仅数字签名模式打开,则为 true;否则为 false。默认值为 false。当此属性返回 true 时,打开工作簿后不会自动调整行高。默认值为 false。
XlsxOpenOptions options = new XlsxOpenOptions();
options.setDoNotAutoFitAfterOpened(true);
boolean doNotAutoFit = options.getDoNotAutoFitAfterOpened();
workbook.open("path/to/workbook.xlsx", options);
true;否则返回 false。当此属性设置为 true 时,打开工作簿后不会自动调整行高。默认值为 false。
XlsxOpenOptions options = new XlsxOpenOptions();
options.setDoNotAutoFitAfterOpened(true);
workbook.open("path/to/workbook.xlsx", options);
value - 如果加载后禁用自动调整行高,则为 true;否则为 false。InvalidFormulaHandling.Throw。
XlsxOpenOptions options = new XlsxOpenOptions();
options.setInvalidFormulaHandling(InvalidFormulaHandling.Preserve);
InvalidFormulaHandling handling = options.getInvalidFormulaHandling();
InvalidFormulaHandling.Throw。
XlsxOpenOptions options = new XlsxOpenOptions();
options.setInvalidFormulaHandling(InvalidFormulaHandling.Preserve);
InvalidFormulaHandling handling = options.getInvalidFormulaHandling();
value - 打开工作簿时非法公式的处理方式。