Работа с электронными таблицами Excel — важная часть автоматизации бизнес-процессов, анализа данных и составления отчётности. Однако при обмене данными или хранении конфиденциальной информации возникает необходимость в защите листов или всей рабочей книги. Механизмы безопасности позволяют предотвратить несанкционированное изменение содержимого, сохранить конфиденциальность и обеспечить контроль доступа.
Если вы разрабатываете на платформе Excel. Если вы хотите программно обеспечить безопасность документов Excel, одним из решений является использование библиотеки SautinSoft.Excel — мощного инструмента для автоматизации работы с файлами Excel. В этой статье мы подробно расскажем, как использовать её для защиты отдельного листа, каковы преимущества такого подхода, зачем он нужен и насколько популярен этот подход в разработке.
Преимущества и практическая польза:
Практические примеры использования:
Практика показывает, что защита листов — одна из самых востребованных функций при работе с автоматизированными системами отчетности и документооборота. В корпоративной среде программисты регулярно внедряют подобные механизмы для защиты шаблонов и форм, предотвращения случайных ошибок в документах, обеспечения конфиденциальности данных и автоматизации процессов формирования защищенных файлов. Подобные решения широко используются в банковском, страховом и государственном секторах, а также в любой сфере, где важны информационная безопасность и контроль доступа.
Что касается этого примера кода, стоит отметить, что для предотвращения случайного или преднамеренного изменения, перемещения или удаления данных на листе другими пользователями вы можете заблокировать ячейки в листе Excel и защитить лист.
Предположим, у вас есть лист отчёта о состоянии команды, и вы хотите, чтобы участники команды добавляли данные только в определённые ячейки и не могли редактировать ничего другого.
Защита листа позволяет сделать редактируемыми только определённые части листа, запрещая пользователям редактировать данные в других областях листа.
Полный код
using SautinSoft.Excel;
using System.IO;
namespace Example
{
class Program
{
static void Main(string[] args)
{
// Get your free key here:
// https://sautinsoft.com/start-for-free/
ProtectWorksheet();
}
/// <summary>
/// Protect worksheet in the file without passwords.
/// </summary>
/// <remarks>
/// Details:
/// </remarks>
static void ProtectWorksheet()
{
string inpFile = @"..\..\..\Example.xlsx";
string outFile = @"..\..\..\Result.xlsx";
ExcelDocument excelDocument = ExcelDocument.Load(inpFile);
// To prevent other users from accidentally or deliberately changing, moving, or deleting data in a worksheet, you can lock the cells on your Excel worksheet and then protect the sheet with a password.
// Say you own the team status report worksheet, where you want team members to add data in specific cells only and not be able to modify anything else.
// With worksheet protection, you can make only certain parts of the sheet editable and users will not be able to modify data in any other region in the sheet.
excelDocument.Worksheets[0].Protected = true;
// Using MS Excel just click on File-> Info-> Unprotect.
excelDocument.Save(outFile);
// Important for Linux: Install MS Fonts
// sudo apt install ttf-mscorefonts-installer -y
// Open the result for demonstration purposes.
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outFile) { UseShellExecute = true });
}
}
}Imports SautinSoft.Excel
Imports System.IO
Namespace Example
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Get your free key here:
' https://sautinsoft.com/start-for-free/
ProtectWorksheet()
End Sub
''' <summary>
''' Protect worksheet in the file without passwords.
''' </summary>
''' <remarks>
''' Details:
''' </remarks>
Private Shared Sub ProtectWorksheet()
Dim inpFile As String = "..\..\..\Example.xlsx"
Dim outFile As String = "..\..\..\Result.xlsx"
Dim excelDocument As ExcelDocument = ExcelDocument.Load(inpFile)
' To prevent other users from accidentally or deliberately changing, moving, or deleting data in a worksheet, you can lock the cells on your Excel worksheet and then protect the sheet with a password.
' Say you own the team status report worksheet, where you want team members to add data in specific cells only and not be able to modify anything else.
' With worksheet protection, you can make only certain parts of the sheet editable and users will not be able to modify data in any other region in the sheet.
excelDocument.Worksheets(0).Protected = True
' Using MS Excel just click on File-> Info-> Unprotect.
excelDocument.Save(outFile)
' Important for Linux: Install MS Fonts
' sudo apt install ttf-mscorefonts-installer -y
' Open the result for demonstration purposes.
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(outFile) With {.UseShellExecute = True})
End Sub
End Class
End Namespace
Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу support@sautinsoft.ru или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже: