Spire.Cloud.Excel提供的WorkbookApi接口可以对整个Excel文档进行操作,例如创建一个新的Excel文档,将Excel文档保存为其他格式文档。本文介绍如何使用该接口加密Excel文档或者移除密码保护。
步骤一:创建一个Maven程序,通过Maven仓库安装Spire.Cloud.SDK,详细步骤可参考这篇文章。
步骤二:通过冰蓝云官网(https://cloud.e-iceblue.cn/)注册账号并登陆,在“我的应用”版块创建应用程序,获得App ID及App Key。
步骤三:上传Excel文档至冰蓝云官网的“文档管理”版块。为了便于文档管理,您也可以先创建“input”文件夹,然后将需要编辑的Excel文档上传至该文件夹下。本教程将示例文档(sample.xlsx)上传到了input文件夹下。
步骤四:在Maven程序中编写测试类操作input文件夹下的文档。
示例1、加密Excel文档
import spire.cloud.excel.sdk.ApiException;
import spire.cloud.excel.sdk.Configuration;
import spire.cloud.excel.sdk.api.WorkbookApi;
import spire.cloud.excel.sdk.model.WorkbookEncryptionRequest;
public class ProtectWorkbook {
static String appId = "App ID";
static String appKey = "App Key";
static String baseUrl = "https://api.e-iceblue.cn";
//配置App ID和App Key
static Configuration configuration = new Configuration(appId, appKey, baseUrl);
//初始化WorkbookApi对象
static WorkbookApi workbookApi = new WorkbookApi(configuration);
public static void main(String[] args) throws ApiException {
//指定源文档名称
String name = "sample.xlsx";
//创建WorkbookEncryptionRequest对象
WorkbookEncryptionRequest encryption = new WorkbookEncryptionRequest();
//设置打开密码
encryption.password("abc-123");
//指定源文档存放文件夹
String folder = "input";
//指定存储空间,使用冰蓝云默认存储空间,设置为null
String storage = null;
//调用encryptDocument方法加密文档并保存到原路径
workbookApi.encryptDocument(name, encryption, folder, storage);
}
}
示例2、移除密码保护
import spire.cloud.excel.sdk.ApiException;
import spire.cloud.excel.sdk.Configuration;
import spire.cloud.excel.sdk.api.WorkbookApi;
import spire.cloud.excel.sdk.model.WorkbookEncryptionRequest;
public class RemovePassword {
static String appId = "App ID";
static String appKey = "App Key";
static String baseUrl = "https://api.e-iceblue.cn";
//配置App ID和App Key
static Configuration configuration = new Configuration(appId, appKey, baseUrl);
//初始化WorkbookApi对象
static WorkbookApi workbookApi = new WorkbookApi(configuration);
public static void main(String[] args) throws ApiException {
//指定源文档名称
String name = "sample.xlsx";
//创建WorkbookEncryptionRequest对象
WorkbookEncryptionRequest encryption = new WorkbookEncryptionRequest();
//输入原密码
encryption.password("abc-123");
//指定源文档存放文件夹
String folder = "input";
//指定存储空间,使用冰蓝云默认存储空间,设置为null
String storage = null;
//调用decryptDocument方法移除密码并将文档保存到原路径
workbookApi.decryptDocument(name, encryption, folder, storage);
}
}