Как защитить файлы Excel в Java
Защита документов Excel жизненно важна для обеспечения безопасности конфиденциальных данных от несанкционированного доступа и потенциальных нарушений. Реализуя различные меры безопасности, такие как защита паролем, шифрование и ограниченные права редактирования, пользователи могут гарантировать, что их информация останется конфиденциальной и защищенной. В этой статье показано, как защитить файлы Excel на Java с использованием библиотеки Spire.XLS for Java.
- Защитить весь рабочий файл паролем
- Защитить лист с помощью конкретного типа защиты
- Цифровая подпись документа Excel
Установка файла Spire.Xls.jar
Spire.XLS
for Java — это мощная библиотека, предназначенная для разработчиков,
позволяющая программно создавать, манипулировать и управлять электронными
таблицами Excel. Библиотеку можно
загрузить по этой
ссылке или установить из репозитория Maven.
Защитить весь рабочий файл паролем
Шифруя документ Excel паролем, вы гарантируете, что только вы и уполномоченные лица смогут его прочитать или отредактировать. Следующий код демонстрирует, как защитить файл Excel паролем с помощью Java.
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
public class PasswordProtectWorkbook {
public static void main(String[] args) {
// Создать объект Workbook
Workbook workbook = new Workbook();
// Загрузить файл Excel
workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.xlsx");
// Защитить рабочую книгу паролем
workbook.protect("psd-123″);
// Сохранить рабочую книгу в другой файл Excel
workbook.saveToFile("output/Encrypted.xlsx", ExcelVersion.Version2016);
}
}
Защитить лист с помощью конкретного типа защиты
Если вы хотите предоставить людям
разрешение на чтение вашего документа Excel, но ограничить типы изменений,
которые они могут вносить в лист, вы можете защитить лист с помощью конкретного
типа защиты. Вот пример, демонстрирующий, как защитить лист с помощью
конкретного типа защиты.
import com.spire.xls.ExcelVersion;
import com.spire.xls.SheetProtectionType;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import java.util.EnumSet;
public class ProtectWorksheet {
public static void main(String[] args) {
// Создать объект Workbook
Workbook workbook = new Workbook();
// Загрузить файл Excel
workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.xlsx");
// Получить конкретный лист
Worksheet worksheet = workbook.getWorksheets().get(0);
// Защитить лист с паролем разрешения и конкретным типом защиты
worksheet.protect("psd-permission", EnumSet.of(SheetProtectionType.None));
// Сохранить рабочую книгу в другой файл Excel
workbook.saveToFile("output/ProtectWorksheet.xlsx", ExcelVersion.Version2016);
}
}
Цифровая подпись документа Excel
Вы можете добавить цифровую подпись для защиты целостности файла Excel. После добавления цифровой подписи файл становится доступным только для чтения, чтобы предотвратить дальнейшее редактирование. Если кто-то внесет изменения в файл, цифровая подпись сразу станет недействительной. Следующий код показывает, как это сделать.
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.digital.CertificateAndPrivateKey;
import java.util.Date;
public class AddDigitalSignature {
public static void main(String []args) throws Exception {
// Создать экземпляр Workbook
Workbook workbook=new Workbook();
// Загрузить файл Excel
workbook.loadFromFile("Sample.xlsx");
// Добавить цифровую подпись к файлу
CertificateAndPrivateKey cap = new CertificateAndPrivateKey("certificate.pfx","password");
workbook.addDigitalSignature(cap, "password",new Date());
// Сохранить результирующий файл
workbook.saveToFile("AddDigitalSignature.xlsx", ExcelVersion.Version2013);
}
}
Заключение
В этой статье вы узнали, как защитить файлы Excel с помощью Spire.XLS for Java. Эта библиотека имеет множество других возможностей, таких как:
Создание, чтение и обновление Excel в Java