Lindungi Kolom Tertentu Di Lembar Kerja Excel

Saat bekerja dengan lembar kerja Excel di C#, sering kali perlu melindungi kolom tertentu untuk mencegah modifikasi yang tidak disengaja. Dalam tutorial ini, kami akan memandu Anda melalui proses memproteksi kolom tertentu di lembar kerja Excel menggunakan pustaka Aspose.Cells untuk .NET. Kami akan memberi Anda penjelasan langkah demi langkah tentang kode sumber C# yang diperlukan untuk tugas ini. Jadi, mari kita mulai!

Ikhtisar Melindungi Kolom Tertentu di Lembar Kerja Excel

Melindungi kolom tertentu di lembar kerja Excel memastikan bahwa kolom tersebut tetap terkunci dan tidak dapat diubah tanpa otorisasi yang tepat. Ini sangat berguna ketika Anda ingin membatasi akses pengeditan pada data atau rumus tertentu sambil mengizinkan pengguna berinteraksi dengan seluruh lembar kerja. Pustaka Aspose.Cells for .NET menyediakan serangkaian fitur komprehensif untuk memanipulasi file Excel secara terprogram, termasuk perlindungan kolom.

Menyiapkan Lingkungan

Sebelum kita mulai, pastikan Anda telah menginstal pustaka Aspose.Cells for .NET di lingkungan pengembangan Anda. Anda dapat mengunduh perpustakaan dari situs resmi Aspose dan menginstalnya menggunakan penginstal yang disediakan.

Membuat Buku Kerja dan Lembar Kerja Baru

Untuk mulai memproteksi kolom tertentu, kita perlu membuat buku kerja dan lembar kerja baru menggunakan Aspose.Cells untuk .NET. Berikut cuplikan kodenya:

//Jalur ke direktori dokumen.
string dataDir = "YOUR DOCUMENT DIRECTORY";

// Buat direktori jika belum ada.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);

// Buat buku kerja baru.
Workbook wb = new Workbook();

// Buat objek lembar kerja dan dapatkan lembar pertama.
Worksheet sheet = wb.Worksheets[0];

Pastikan untuk mengganti “DIREKTORI DOKUMEN ANDA” dengan jalur direktori sebenarnya tempat Anda ingin menyimpan file Excel.

Mendefinisikan Gaya dan Objek Bendera Gaya

Untuk menyetel gaya tertentu dan tanda perlindungan pada kolom, kita perlu mendefinisikan objek gaya dan tanda gaya. Berikut cuplikan kodenya:

// Tentukan objek gaya.
Style style;

// Tentukan objek bendera gaya.
StyleFlag flag;

Mengulangi Kolom dan Membuka Kuncinya

Selanjutnya, kita perlu mengulang semua kolom di lembar kerja dan membuka kuncinya. Ini akan memastikan bahwa semua kolom dapat diedit kecuali kolom yang ingin kita lindungi. Berikut cuplikan kodenya:

// Ulangi semua kolom di lembar kerja dan buka kuncinya.
for (int i = 0; i <= 255; i++)
{
    style = sheet.Cells.Columns[(byte)i].Style;
    style.IsLocked = false;
    flag = new StyleFlag();
    flag.Locked = true;
    sheet.Cells.Columns[(byte)i].ApplyStyle(style, flag);
}

Mengunci Kolom Tertentu

Sekarang, mari kita kunci kolom tertentu. Pada contoh ini, kita akan mengunci kolom pertama (indeks kolom 0). Berikut cuplikan kodenya:

// Dapatkan gaya kolom pertama.
style = sheet.Cells.Columns[0].Style;

// Kunci itu.
style.IsLocked = true;

Menerapkan Gaya ke Kolom

Setelah mengunci kolom tertentu, kita perlu menerapkan gaya dan bendera ke kolom itu. Berikut cuplikan kodenya:

//Buat contoh benderanya.
flag = new StyleFlag();

// Atur pengaturan kunci.
flag.Locked = true;

// Terapkan gaya ke kolom pertama.
sheet.Cells.Columns[0].ApplyStyle(style, flag);

Melindungi Lembar Kerja

Untuk menyelesaikan proteksi, kita perlu memproteksi lembar kerja untuk memastikan bahwa kolom yang terkunci tidak dapat diubah. Berikut cuplikan kodenya:

// Lindungi lembaran itu.
sheet.Protect(ProtectionType.All);

Menyimpan File Excel

Terakhir, kami akan menyimpan file Excel yang dimodifikasi ke lokasi yang diinginkan. Berikut cuplikan kodenya:

// Simpan file excelnya.
wb.Save(dataDir + "output.out.xls", SaveFormat.Excel97To2003);

Pastikan untuk mengganti “output.out.xls” dengan nama file dan ekstensi yang diinginkan.

Contoh kode sumber untuk Melindungi Kolom Tertentu di Lembar Kerja Excel menggunakan Aspose.Cells untuk .NET

//Jalur ke direktori dokumen.
string dataDir = "YOUR DOCUMENT DIRECTORY";
// Buat direktori jika belum ada.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);
// Buat buku kerja baru.
Workbook wb = new Workbook();
// Buat objek lembar kerja dan dapatkan lembar pertama.
Worksheet sheet = wb.Worksheets[0];
// Tentukan objek gaya.
Style style;
// Tentukan objek styleflag.
StyleFlag flag;
// Ulangi semua kolom di lembar kerja dan buka kuncinya.
for (int i = 0; i <= 255; i++)
{
    style = sheet.Cells.Columns[(byte)i].Style;
    style.IsLocked = false;
    flag = new StyleFlag();
    flag.Locked = true;
    sheet.Cells.Columns[(byte)i].ApplyStyle(style, flag);
}
// Dapatkan gaya kolom pertama.
style = sheet.Cells.Columns[0].Style;
// Kunci itu.
style.IsLocked = true;
//Buat contoh benderanya.
flag = new StyleFlag();
// Atur pengaturan kunci.
flag.Locked = true;
// Terapkan gaya ke kolom pertama.
sheet.Cells.Columns[0].ApplyStyle(style, flag);
// Lindungi lembaran itu.
sheet.Protect(ProtectionType.All);
// Simpan file excelnya.
wb.Save(dataDir + "output.out.xls", SaveFormat.Excel97To2003);

Kesimpulan

Dalam tutorial ini, kami telah menjelaskan proses langkah demi langkah untuk memproteksi kolom tertentu di lembar kerja Excel menggunakan pustaka Aspose.Cells untuk .NET. Kami memulai dengan membuat buku kerja dan lembar kerja baru, mendefinisikan gaya dan objek bendera gaya, lalu melanjutkan untuk membuka kunci dan mengunci kolom tertentu. Terakhir, kami memproteksi lembar kerja dan menyimpan file Excel yang dimodifikasi. Dengan mengikuti panduan ini, Anda sekarang dapat memproteksi kolom tertentu di lembar kerja Excel menggunakan C# dan Aspose.Cells untuk .NET.

Pertanyaan yang Sering Diajukan (FAQ)

Bisakah saya melindungi banyak kolom menggunakan metode ini?

Ya, Anda dapat melindungi beberapa kolom dengan memodifikasi kodenya. Cukup ulangi rentang kolom yang diinginkan dan terapkan gaya dan bendera penguncian.

Apakah mungkin untuk melindungi lembar kerja yang dilindungi kata sandi?

Ya, Anda bisa menambahkan proteksi kata sandi ke lembar kerja yang diproteksi dengan menentukan kata sandi saat memanggilProtect metode.

Apakah Aspose.Cells untuk .NET mendukung format file Excel lainnya?

Ya, Aspose.Cells untuk .NET mendukung berbagai format file Excel, termasuk XLS, XLSX, XLSM, dan banyak lagi.

Bisakah saya melindungi baris tertentu, bukan kolom?

Ya, Anda dapat memodifikasi kode untuk melindungi baris tertentu, bukan kolom, dengan menerapkan gaya dan tanda ke sel baris, bukan sel kolom.