Ověření dat v Excelu pomocí C#

Ověření dat v Excelu zajišťuje, že uživatelé zadávají pouze platná data do pracovních listů. Při navrhování formulářů, sbírání dat nebo vytváření finančních modelů pomáhá ověřování dat udržovat strukturu a minimalizovat chyby uživatelů. V tomto příspěvku vám ukážeme, jak aplikovat ověřování dat v Excelu programově pomocí C#.

Tento článek se zabývá následujícími tématy:

C# Excel Knihovna pro ověřování dat

Ověření dat zajišťuje, že uživatelé zadávají platné a očekávané vstupy v Excelových tabulkách. Budeme používat Aspose.Cells for .NET API k přidání různých typů ověření dat do Excelu. Nabízí mocný a flexibilní přístup k definování pravidel, jako jsou rozevírací seznamy, číselné rozsahy, datumové limity a vlastní vzorce, a to vše bez nutnosti mít Microsoft Excel.

Nainstalujte Aspose.Cells for .NET pomocí NuGet balíčku ve vašem projektu:

PM> Install-Package Aspose.Cells

Pak importujte relevantní prostor názvů:

using Aspose.Cells;

Vytvoření ověření rozbalovacího seznamu v Excelu pomocí C#

Můžete omezit vstup uživatele na předem definovaný soubor možností vytvořením ověření rozbalovacího seznamu v Excelu. To zajišťuje konzistentní hodnoty, což je obzvlášť užitečné ve formulářích nebo šablonách.

Postupujte podle těchto kroků, jak vytvořit rozbalovací seznam v Excelu pomocí C#:

  1. Vytvořte nový Workbook objekt.
  2. Získejte první worksheet pomocí jeho indexu.
  3. Definujte cílovou CellArea pro validaci.
  4. Přistupte ke kolekci Validations listu.
  5. Přidejte novou validaci pomocí metody Add().
  6. Nastavte typ validace na ValidationType.List.
  7. Definujte možnosti rozbalovacího seznamu pomocí vlastnosti Formula1 (oddělené čárkami).
  8. Přidejte oblast buněk k validaci pomocí metody AddArea().
  9. Uložte sešit, abyste vygenerovali validovaný soubor Excel.

Zde je příklad kódu C#, který implementuje tyto kroky:

// Vytvořte nový sešit Excel.
var workbook = new Workbook();

// Přístup k prvnímu listu v sešitu
var sheet = workbook.Worksheets[0];

// Definujte cílovou oblast buněk pro validaci (v tomto případě A1)
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
};

// Získejte kolekci validací pracovní nahledu.
var validations = sheet.Validations;

// Přidejte nový validační záznam pro určenou oblast buněk
int index = validations.Add(area);
var validation = validations[index];

// Nastavte typ validace na rozevírací seznam
validation.Type = ValidationType.List;

// Definujte povolené položky seznamu (hodnoty oddělené čárkou)
validation.Formula1 = "Red,Green,Blue";

// Nastavte vstupní zprávu zobrazenou při výběru buňky
validation.InputMessage = "Select a color from the list.";

// Nastavte chybovou zprávu, která se zobrazí, pokud jsou zadána neplatná data.
validation.ErrorMessage = "Only Red, Green, or Blue are allowed.";

// Povolte zobrazení chybové zprávy
validation.ShowError = true;

// Použijte definovanou oblast pro ověření
validation.AddArea(area);

// Uložte sešit na určenou cestu k souboru
workbook.Save("dropdown-validation.xlsx");
Vytváření ověření rozbalovacího seznamu v Excelu pomocí C#

Vytváření ověření rozbalovacího seznamu v Excelu pomocí C#

Omezení na celá čísla v Excelu pomocí C#

Ověření celého čísla zajišťuje, že uživatelé zadávají pouze platné celočíselné hodnoty v Excelu, což je ideální pro pole množství, vstupy věku nebo rozpočtové listy, kde desetinné čísla nebo text nejsou přijatelné.

Řekněme, že chcete omezit buňku tak, aby akceptovala pouze čísla mezi 1 a 100. Bez tohoto pravidla by uživatelé mohli náhodně zadat neplatné vstupy, jako je 150 nebo abc, což by vedlo k chybám ve výpočtech nebo logickým problémům ve vaší tabulce.

S Aspose.Cells for .NET můžete tuto validační pravidlo vynutit programově v C# bez nutnosti jej manuálně konfigurovat v Excelu.

Následující kódový úryvek ukazuje, jak omezit uživatele na zadávání pouze povolených hodnot:

using Aspose.Cells;

// Vytvořte nový sešit Excel
var workbook = new Workbook();

// Přístup k prvnímu listu v sešitu
var sheet = workbook.Worksheets[0];

// Definujte cílovou buňku — B2 (řádek 1, sloupec 1)
var area = new CellArea
{
    StartRow = 1,
    EndRow = 1,
    StartColumn = 1,
    EndColumn = 1
};

// Přístup k kolekci validací pracovního listu
var validations = sheet.Validations;

// Přidejte novou validaci a získejte její index.
int index = validations.Add(area);

// Získejte validační objekt pomocí indexu
var validation = validations[index];

// Nastavte typ validace na WholeNumber (pouze celá čísla povolena)
validation.Type = ValidationType.WholeNumber;

// Nastavte operátor na Mezi
validation.Operator = OperatorType.Between;

// Definujte platný rozsah: 1 až 100
validation.Formula1 = "1";
validation.Formula2 = "100";

// Nastavte chybovou zprávu, která se zobrazí, když jsou zadána neplatná data.
validation.ErrorMessage = "Enter a number between 1 and 100.";

// Povolit zobrazení chybového upozornění, když ověření selže
validation.ShowError = true;

// (Optional if not using Add(area) earlier) Přidejte oblast k validaci výslovně
validation.AddArea(area);

// Uložte sešit do souboru
workbook.Save("numbers-validation.xlsx");
Omezení na celá čísla v Excelu pomocí C#

Omezení na celá čísla v Excelu pomocí C#

Použijte validaci rozsahu dat v Excelu pomocí C#

Ověření data vám pomáhá zajistit, že uživatelé zadávají pouze platná data. Je to užitečné v nástrojích pro plánování, záznamech o účasti, rezervacích a v jakémkoli scénáři, kde potřebujete data v rámci konkrétního rozsahu.

Například si představte, že vytváříte šablonu pro plánování projektů a chcete omezit uživatele na zadávání dat pouze v roce 2024. Umožnění uživatelům zadat datum mimo tento rozsah (například 2023 nebo 2025) by mohlo způsobit poruchy ve vzorcích nebo vytvořit nekonzistentní záznamy.

Aspose.Cells for .NET usnadňuje aplikaci platností datumů na konkrétní buňky, takže uživatelé mohou zadávat pouze data, která splňují vaše kritéria.

Následující úryvek kódu demonstruje, jak zajistit, aby uživatelé mohli zadávat pouze data mezi 1. lednem 2024 a 31. prosincem 2024. Cokoli mimo tento rozsah vyvolá chybu, což vám pomůže udržet čistší a přesnější data ve vaší tabulce.

using Aspose.Cells;

// Vytvořte novou pracovní knihu Excel
var workbook = new Workbook();

// Přístup k prvnímu listu v sešitu
var sheet = workbook.Worksheets[0];

// Definujte oblast buňky pro použití validace — C3 (řádek 2, sloupec 2)
var area = new CellArea
{
    StartRow = 2,
    EndRow = 2,
    StartColumn = 2,
    EndColumn = 2
};

// Získejte kolekci validací listu.
var validations = sheet.Validations;

// Přidejte novou validaci a získejte její index.
int index = validations.Add(area);

// Získejte validační objekt
var validation = validations[index];

// Nastavte typ ověření na Datum
validation.Type = ValidationType.Date;

// Nastavte operátor na Mezi (počáteční a koncové datumy)
validation.Operator = OperatorType.Between;

// Specifikujte platný časový rámec: 1. leden 2024 až 31. prosinec 2024
validation.Formula1 = "2024-01-01";
validation.Formula2 = "2024-12-31";

// Nastavte chybovou zprávu, která se má zobrazit, když je datum mimo rozsah.
validation.ErrorMessage = "Date must be within the year 2024.";

// Povolit zobrazení chybové výstrahy
validation.ShowError = true;

// Znovu aplikujte oblast, abyste zajistili, že je validace správně omezena.
validation.AddArea(area);

// Uložte sešit na určenou cestu
workbook.Save("date-validation.xlsx");

Použijte ověřování založené na vzorcích v Excelu pomocí jazyka C#

Někdy jednoduché rozbalovací nabídky nebo pevně stanovené rozsahy čísel nejsou dostatečné, zejména když vaše pravidla závisí na hodnotách v jiných buňkách. S validací založenou na vzorcích můžete definovat vlastní pravidla pomocí vzorců ve stylu Excelu. Tato pravidla mohou odkazovat na jiné buňky a dynamicky vyhodnocovat, zda je vstup platný. Například můžete chtít zajistit, aby hodnota v buňce B1 byla vždy větší než hodnota v A1. To je běžný scénář v porovnávání cen, hodnoticích tabulkách nebo sekvencích dat.

Aspose.Cells for .NET plně podporuje tuto funkci a umožňuje vám definovat validaci pomocí vlastních vzorců, stejně jako v Excelu.

Následující ukázka kódu ukazuje, jak aplikovat validace založené na vzorcích v Excelu pomocí C#.

using Aspose.Cells;

// Vytvořte novou Excelovou pracovní knihu
var workbook = new Workbook();

// Získat první list v sešitu
var sheet = workbook.Worksheets[0];

// Definujte oblast buněk pro ověření — B1 (řádek 0, sloupec 1)
var area = new CellArea
{
    StartRow = 0,
    EndRow = 0,
    StartColumn = 1,
    EndColumn = 1
};

// Získejte kolekci validací pracovních listů
var validations = sheet.Validations;

// Přidejte novou validaci do kolekce a získejte její index.
int index = validations.Add(area);

// Získejte validační objekt podle indexu
var validation = validations[index];

// Nastavte typ validace na Vlastní (používá se pro pravidla založená na vzorcích)
validation.Type = ValidationType.Custom;

// Nastavte vlastní vzorec: B1 musí být větší než A1
validation.Formula1 = "=B1>A1";

// Definujte chybovou zprávu zobrazenou při selhání validace
validation.ErrorMessage = "Value in B1 must be greater than A1.";

// Povolit zobrazení chybové výstrahy při neplatném vstupu
validation.ShowError = true;

// Přidejte oblast explicitně, aby bylo zajištěno, že je pokryta validací.
validation.AddArea(area);

// Uložte sešit do zadané cesty k souboru
workbook.Save("formula-validation.xlsx");

Nastavte vstup a chybová hlášení v Excelu pomocí C#

Použití validace dat je pouze částí řešení. Pomoc uživatelům, když zadávají nesprávná data, je stejně důležité, a zde hrají klíčovou roli vlastní upozornění a zprávy.

Aspose.Cells for .NET vám umožňuje nastavit užitečné vstupní zprávy a upozornění na chyby, které se zobrazí, když uživatelé vyberou buňku nebo zadají neplatná data. Tyto zprávy zlepšují uživatelský zážitek, snižují zmatek a činí vaše šablony Excel profesionálnějšími.

Například, když uživatel klikne na buňku, můžete zobrazit nápovědu jako

Povoleny jsou pouze hodnoty od 1 do 100.

A pokud zadají nesprávnou hodnotu, Excel může zobrazit dialogové okno s následujícím textem:

Neplatný vstup: Zadejte prosím číslo mezi 1 a 100.

Můžete také přizpůsobit, jak Excel reaguje na neplatný vstup, výběrem, zda uživatele zcela zablokovat (Stop), umožnit mu pokračovat s varováním (Warning) nebo jednoduše zobrazit informační zprávu (Information).

Postupujte podle těchto kroků pro konfiguraci validačních upozornění pomocí C#:

  1. Po nastavení validačního pravidla nastavte InputTitle a InputMessage, aby se zobrazoval pomocný text, když uživatel vybere buňku.
  2. Definujte ErrorTitle a ErrorMessage, které vysvětlí, co se pokazilo, pokud validace selže.
  3. Vyberte AlertStyle — možnosti zahrnují Stop, Warning a Information.
  4. Nastavte ShowError na true, abyste povolili upozornění na validaci.
  5. Uložte pracovní knihu.

Tyto upozornění činí vaši tabulku intuitivnější a uživatelsky přívětivější, zejména když vytváříte šablony, které budou ostatní používat nebo znovu používat často.

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

// Nastavit oblast ověření — použít na buňku C1
var area = new CellArea
{
    StartRow = 0,
    EndRow = 0,
    StartColumn = 2, // Column C = 2
    EndColumn = 2
};

// Přidejte validaci
int index = sheet.Validations.Add(area);
var validation = sheet.Validations[index];

validation.Type = ValidationType.Custom;

// Tento vzorec vždy vyhodnocuje na NEPRAVDA
validation.Formula1 = "=FALSE";

// Nastavte vstupní a chybové zprávy
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;

// Aplikujte validaci na oblast
validation.AddArea(area);

// Uložte ověřený sešit
workbook.Save("D:\\Files\\validated_with_alerts.xlsx");

Tyto upozornění zvyšují použitelnost a jasně vedou uživatele k tomu, co mají zadat.

Nakonfigurujte zprávy o vstupu a chybách v Excelu pomocí C#

Nastavte vstupní a chybové zprávy v Excelu pomocí C#

Zkuste to zdarma

Získejte zdarma dočasnou licenci k otestování plných schopností Aspose.Cells for .NET bez jakýchkoli omezení funkcí.

Bezplatné zdroje

Prozkoumejte více o automatizaci a validaci v Excelu pomocí těchto zdrojů:

Závěr

V tomto článku jsme ukázali, jak implementovat validaci dat v Excelu pomocí C# s Aspose.Cells for .NET. Od rozbalovacích seznamů po vlastní vzorce můžete vytvářet inteligentní a bezchybné tabulky, aniž byste se spoléhali na samotný Excel.

Pokud máte jakékoli dotazy nebo zpětnou vazbu, neváhejte je zveřejnit na našem free support forum.Rádi vám pomůžeme!

See Also