Validasi Data di Excel Menggunakan C#

Validasi data di Excel memastikan bahwa pengguna hanya memasukkan data yang valid di lembar kerja. Dalam merancang formulir, mengumpulkan data, atau membangun model keuangan, validasi data membantu menjaga struktur dan meminimalkan kesalahan pengguna. Dalam postingan ini, kami akan menunjukkan kepada Anda cara menerapkan validasi data di Excel menggunakan C# secara programatis.

Artikel ini mencakup topik-topik berikut:

C# Excel Data Validation Library

Validasi data memastikan bahwa pengguna memasukkan input yang valid dan diharapkan dalam spreadsheet Excel. Kami akan menggunakan Aspose.Cells for .NET API untuk menambahkan berbagai jenis validasi data dalam Excel. Ini memberikan pendekatan yang kuat dan fleksibel untuk mendefinisikan aturan seperti daftar dropdown, rentang numerik, batas tanggal, dan formula kustom, semuanya tanpa memerlukan Microsoft Excel.

Instal Aspose.Cells for .NET melalui NuGet paket di proyek Anda:

PM> Install-Package Aspose.Cells

Kemudian impor namespace yang relevan:

using Aspose.Cells;

Buat Validasi Daftar Drop-down di Excel menggunakan C#

Anda dapat membatasi masukan pengguna ke serangkaian opsi yang telah ditentukan dengan membuat validasi daftar dropdown di Excel. Ini memastikan nilai yang konsisten, terutama berguna dalam formulir atau templat.

Ikuti langkah-langkah ini untuk membuat daftar dropdown di Excel menggunakan C#:

  1. Buat objek Workbook baru.
  2. Akses worksheet pertama menggunakan indeksnya.
  3. Tentukan target CellArea untuk validasi.
  4. Akses koleksi Validations dari lembar kerja.
  5. Tambahkan validasi baru menggunakan metode Add().
  6. Setel tipe validasi ke ValidationType.List.
  7. Tentukan opsi dropdown menggunakan properti Formula1 (dipisahkan koma).
  8. Tambahkan area sel ke validasi menggunakan metode AddArea().
  9. Simpan workbook untuk menghasilkan file Excel yang tervalidasi.

Berikut adalah contoh kode C# yang mengimplementasikan langkah-langkah ini:

// Buat workbook Excel baru
var workbook = new Workbook();

// Akses lembar kerja pertama di buku kerja
var sheet = workbook.Worksheets[0];

// Tentukan area sel target untuk validasi (A1 dalam hal ini)
var area = new CellArea
{
    StartRow = 0,     // Row index starts from 0 (Row 1)
    EndRow = 0,       // Apply to a single row
    StartColumn = 0,  // Column index starts from 0 (Column A)
    EndColumn = 0     // Apply to a single column
};

// Akses koleksi validasi dari lembar kerja
var validations = sheet.Validations;

// Tambahkan entri validasi baru untuk area sel yang ditentukan
int index = validations.Add(area);
var validation = validations[index];

// Atur jenis validasi ke daftar dropdown
validation.Type = ValidationType.List;

// Tentukan item daftar yang diizinkan (nilai yang dipisahkan koma)
validation.Formula1 = "Red,Green,Blue";

// Atur pesan input yang ditampilkan saat sel dipilih
validation.InputMessage = "Select a color from the list.";

// Setel pesan kesalahan yang ditampilkan jika data yang tidak valid dimasukkan
validation.ErrorMessage = "Only Red, Green, or Blue are allowed.";

// Aktifkan tampilan pesan kesalahan
validation.ShowError = true;

// Terapkan area yang ditentukan untuk validasi
validation.AddArea(area);

// Simpan buku kerja ke jalur file yang ditentukan
workbook.Save("dropdown-validation.xlsx");
Membuat Validasi Daftar Dropdown di Excel Menggunakan C#

Membuat Validasi Daftar Dropdown di Excel Menggunakan C#

Batasi hanya pada Bilangan Bulat di Excel menggunakan C#

Validasi angka bulat memastikan pengguna hanya memasukkan nilai integer yang valid di Excel, yang ideal untuk bidang kuantitas, input usia, atau lembar anggaran di mana desimal atau teks tidak dapat diterima.

Mari kita katakan Anda ingin membatasi sel untuk hanya menerima angka antara 1 dan 100. Tanpa aturan ini, pengguna bisa secara tidak sengaja memasukkan input yang tidak valid seperti 150 atau abc, yang menyebabkan kesalahan perhitungan atau masalah logika di spreadsheet Anda.

Dengan Aspose.Cells for .NET, Anda dapat menerapkan aturan validasi ini secara programatis dalam C# tanpa perlu mengaturnya secara manual di Excel.

Kode cuplikan berikut menunjukkan bagaimana cara membatasi pengguna untuk hanya memasukkan nilai yang diizinkan:

using Aspose.Cells;

// Buat workbook Excel baru
var workbook = new Workbook();

// Akses worksheet pertama di workbook
var sheet = workbook.Worksheets[0];

// Tentukan area sel target — B2 (baris 1, kolom 1)
var area = new CellArea
{
    StartRow = 1,
    EndRow = 1,
    StartColumn = 1,
    EndColumn = 1
};

// Akses koleksi validasi worksheet
var validations = sheet.Validations;

// Tambahkan validasi baru dan dapatkan indeksnya
int index = validations.Add(area);

// Ambil objek validasi menggunakan indeks
var validation = validations[index];

// Atur tipe validasi ke WholeNumber (hanya integer yang diperbolehkan)
validation.Type = ValidationType.WholeNumber;

// Atur operator ke Antara
validation.Operator = OperatorType.Between;

// Tentukan rentang yang valid: 1 hingga 100
validation.Formula1 = "1";
validation.Formula2 = "100";

// Atur pesan kesalahan yang muncul ketika data tidak valid dimasukkan
validation.ErrorMessage = "Enter a number between 1 and 100.";

// Aktifkan tampilan peringatan kesalahan saat validasi gagal
validation.ShowError = true;

// (Optional jika tidak menggunakan Add(area) sebelumnya) Tambahkan area ke validasi secara eksplisit
validation.AddArea(area);

// Simpan buku kerja ke sebuah file
workbook.Save("numbers-validation.xlsx");
Batasi ke Angka Bulat di Excel menggunakan C#

Batasi ke Bilangan Bulat di Excel menggunakan C#

Terapkan Validasi Rentang Tanggal di Excel menggunakan C#

Validasi tanggal membantu Anda memastikan pengguna hanya memasukkan tanggal yang valid. Ini berguna dalam alat perencanaan, catatan kehadiran, lembar pemesanan, dan skenario apa pun di mana Anda memerlukan tanggal dalam rentang tertentu.

Sebagai contoh, bayangkan Anda sedang membangun template penjadwalan proyek, dan Anda ingin membatasi pengguna untuk memasukkan tanggal hanya dalam tahun 2024. Mengizinkan pengguna untuk memasukkan tanggal di luar kisaran ini (seperti 2023 atau 2025) dapat merusak rumus atau membuat catatan yang tidak konsisten.

Aspose.Cells for .NET memudahkan untuk menerapkan validasi tanggal pada sel tertentu, sehingga pengguna hanya dapat memasukkan tanggal yang memenuhi kriteria Anda.

Potongan kode berikut menunjukkan cara untuk memastikan bahwa pengguna hanya dapat memasukkan tanggal antara 1 Januari 2024, dan 31 Desember 2024. Apa pun di luar rentang tersebut akan memicu kesalahan, membantu Anda menjaga data yang lebih bersih dan lebih akurat di seluruh spreadsheet Anda.

using Aspose.Cells;

// Buat workbook Excel baru
var workbook = new Workbook();

// Akses lembar kerja pertama di buku kerja
var sheet = workbook.Worksheets[0];

// Tentukan area sel untuk menerapkan validasi — C3 (baris 2, kolom 2)
var area = new CellArea
{
    StartRow = 2,
    EndRow = 2,
    StartColumn = 2,
    EndColumn = 2
};

// Akses koleksi validasi dari lembar kerja
var validations = sheet.Validations;

// Tambahkan validasi baru dan dapatkan indeksnya
int index = validations.Add(area);

// Ambil objek validasi
var validation = validations[index];

// Atur tipe validasi menjadi Tanggal
validation.Type = ValidationType.Date;

// Atur operator ke Antara (tanggal mulai dan akhir)
validation.Operator = OperatorType.Between;

// Tentukan rentang tanggal yang valid: 1 Jan 2024 hingga 31 Des 2024
validation.Formula1 = "2024-01-01";
validation.Formula2 = "2024-12-31";

// Atur pesan kesalahan untuk ditampilkan ketika tanggal di luar rentang
validation.ErrorMessage = "Date must be within the year 2024.";

// Aktifkan tampilan peringatan kesalahan
validation.ShowError = true;

// Terapkan kembali area untuk memastikan validasi terikat dengan benar
validation.AddArea(area);

// Simpan buku kerja ke jalur yang ditentukan
workbook.Save("date-validation.xlsx");

Gunakan Validasi Berdasarkan Formula di Excel Menggunakan C#

Kadang-kadang, dropdown sederhana atau rentang angka tetap tidak cukup, terutama ketika aturan Anda bergantung pada nilai di sel lain. Dengan validasi berbasis rumus, Anda dapat mendefinisikan aturan kustom menggunakan rumus gaya Excel. Aturan ini dapat merujuk pada sel lain dan secara dinamis mengevaluasi apakah input valid. Misalnya, Anda mungkin ingin memastikan bahwa nilai di sel B1 selalu lebih besar dari nilai di A1. Ini adalah skenario umum dalam perbandingan harga, lembar skor, atau urutan tanggal.

Aspose.Cells for .NET sepenuhnya mendukung fitur ini dan memungkinkan Anda untuk mendefinisikan validasi menggunakan rumus kustom sama seperti di Excel.

Contoh kode berikut menunjukkan cara menerapkan validasi berbasis formula di Excel menggunakan C#.

using Aspose.Cells;

// Buat buku kerja Excel baru
var workbook = new Workbook();

// Akses worksheet pertama di workbook
var sheet = workbook.Worksheets[0];

// Tentukan area sel untuk validasi — B1 (baris 0, kolom 1)
var area = new CellArea
{
    StartRow = 0,
    EndRow = 0,
    StartColumn = 1,
    EndColumn = 1
};

// Akses kumpulan validasi lembar kerja
var validations = sheet.Validations;

// Tambahkan validasi baru ke koleksi dan dapatkan indeksnya
int index = validations.Add(area);

// Ambil objek validasi berdasarkan indeks
var validation = validations[index];

// Atur tipe validasi ke Kustom (digunakan untuk aturan berbasis formula)
validation.Type = ValidationType.Custom;

// Atur rumus khusus: B1 harus lebih besar dari A1
validation.Formula1 = "=B1>A1";

// Tentukan pesan kesalahan yang ditampilkan ketika validasi gagal.
validation.ErrorMessage = "Value in B1 must be greater than A1.";

// Aktifkan tampilan peringatan kesalahan pada input yang tidak valid
validation.ShowError = true;

// Tambahkan area secara eksplisit untuk memastikan bahwa itu tercakup oleh validasi.
validation.AddArea(area);

// Simpan workbook ke jalur file yang ditentukan
workbook.Save("formula-validation.xlsx");

Konfigurasi Pesan Input dan Kesalahan di Excel Menggunakan C#

Menerapkan validasi data hanya merupakan sebagian dari solusi. Membimbing pengguna saat mereka memasukkan data yang salah sama pentingnya, dan di situlah peran penting pemberitahuan dan pesan kustom.

Aspose.Cells for .NET memungkinkan Anda untuk mengatur pesan masukan yang berguna dan peringatan kesalahan yang muncul ketika pengguna memilih sel atau memasukkan data yang tidak valid. Pesan-pesan ini meningkatkan pengalaman pengguna, mengurangi kebingungan, dan membuat template Excel Anda lebih profesional.

Sebagai contoh, ketika seorang pengguna mengklik ke dalam sel, Anda dapat menampilkan tooltip seperti

`Hanya nilai dari 1 hingga 100 yang diizinkan.”

Dan jika mereka memasukkan nilai yang tidak benar, Excel dapat menampilkan kotak dialog yang mengatakan:

`Entri Tidak Valid: Silakan masukkan angka antara 1 dan 100.”

Anda juga dapat menyesuaikan bagaimana Excel merespons input yang tidak valid dengan memilih apakah akan memblokir pengguna sepenuhnya (Stop), mengizinkan mereka untuk melanjutkan dengan peringatan (Warning), atau cukup menampilkan pesan informasi (Information).

Ikuti langkah-langkah ini untuk mengonfigurasi pemberitahuan validasi menggunakan C#:

  1. Setelah mengatur aturan validasi, atur InputTitle dan InputMessage untuk menampilkan teks bantuan ketika pengguna memilih sel.
  2. Tentukan ErrorTitle dan ErrorMessage untuk menjelaskan apa yang salah jika validasi gagal.
  3. Pilih AlertStyle — opsi yang tersedia termasuk Stop, Warning, dan Information.
  4. Set ShowError ke true untuk mengaktifkan peringatan validasi.
  5. Simpan buku kerja.

Peringatan ini membuat spreadsheet Anda lebih intuitif dan ramah pengguna, terutama saat Anda membuat template untuk orang lain gunakan atau gunakan kembali secara sering.

var workbook = new Workbook();
var sheet = workbook.Worksheets[0];

// Atur area validasi — terapkan pada sel C1
var area = new CellArea
{
    StartRow = 0,
    EndRow = 0,
    StartColumn = 2, // Column C = 2
    EndColumn = 2
};

// Tambahkan validasi
int index = sheet.Validations.Add(area);
var validation = sheet.Validations[index];

validation.Type = ValidationType.Custom;

// Formula ini selalu dievaluasi menjadi FALSE
validation.Formula1 = "=FALSE";

// Set up input and error messages
validation.InputTitle = "Input Restricted";
validation.InputMessage = "Try entering anything to see the validation.";
validation.ErrorTitle = "Invalid Input";
validation.ErrorMessage = "You triggered this validation error successfully!";
validation.AlertStyle = ValidationAlertType.Stop;
validation.ShowError = true;
validation.ShowInput = true;

// Terapkan validasi ke area
validation.AddArea(area);

// Simpan workbook yang telah divalidasi
workbook.Save("D:\\Files\\validated_with_alerts.xlsx");

Mereka alert meningkatkan kegunaan dan dengan jelas membimbing pengguna tentang apa yang harus dimasukkan.

Atur Pesan Masukan dan Kesalahan di Excel Menggunakan C#

Mengonfigurasi Pesan Input dan Kesalahan di Excel Menggunakan C#

Coba Gratis

Dapatkan lisensi sementara gratis untuk menguji semua kemampuan Aspose.Cells for .NET tanpa batasan fitur.

Sumber Daya Gratis

Jelajahi lebih lanjut tentang otomatisasi dan validasi Excel menggunakan sumber daya ini:

Kesimpulan

Dalam artikel ini, kami telah menunjukkan cara menerapkan validasi data di Excel menggunakan C# dengan Aspose.Cells for .NET. Dari dropdown hingga rumus kustom, Anda dapat membangun spreadsheet yang cerdas dan bebas kesalahan tanpa mengandalkan Excel itu sendiri.

Jika Anda memiliki pertanyaan atau umpan balik, silakan jangan ragu untuk mempostingnya di forum dukungan gratis kami.Kami akan senang untuk membantu!

Lihat Juga