Hogyan lehet hozzáadni adatmeghatározást egy táblázathoz C++-ban?

Hogyan lehet hozzáadni adatmeghatározást egy táblázathoz C++-ban?

Aspose.Cells FOSS for C++ supports cell-level data validation rules that constrain what values users can enter in specific cells or ranges. The Validation, ValidationCollection,és a következők: WorkbookValidator az osztályok alkotják a validációs API-t.

Lépésről lépésre szóló útmutató

1. lépés: Állítsd fel az épületet!

cmake_minimum_required(VERSION 3.15)
project(DataValidation CXX)
set(CMAKE_CXX_STANDARD 17)

add_subdirectory(path/to/Aspose.Cells-FOSS-for-Cpp)
add_executable(DataValidation main.cpp)
target_link_libraries(DataValidation PRIVATE Aspose.Cells.Foss.Cpp)

2. lépés: Adja be a szükséges címcímeket

#include "aspose/cells_foss/Workbook.h"
#include "aspose/cells_foss/Worksheet.h"
#include "aspose/cells_foss/ValidationCollection.h"
#include "aspose/cells_foss/Validation.h"
#include "aspose/cells_foss/CellArea.h"

using namespace Aspose::Cells_FOSS;

3. lépés: Hozzáférni a hitelesítési gyűjteményhez

Vissza a… ValidationCollection a munkalapból:

int main() {
    Workbook workbook;
    Worksheet& sheet = workbook.GetWorksheets()[0];
    ValidationCollection& validations = sheet.GetValidations();
    return 0;
}

4. lépés: Adj egy érvényesítési szabályt

Hívj! ValidationCollection::Add() és a visszaküldött konfiguráljuk. Validation tárgy:

int idx = validations.Add();
Validation& v = validations[idx];

v.SetType(ValidationType::WholeNumber);
v.SetFormula1("1");
v.SetFormula2("100");
v.SetIgnoreBlank(true);
v.SetInputTitle("Enter Quantity");
v.SetInputMessage("Enter a whole number between 1 and 100.");
v.SetErrorTitle("Invalid Input");
v.SetErrorMessage("Value must be between 1 and 100.");
v.SetShowInput(true);
v.SetShowError(true);
v.SetAlertStyle(ValidationAlertType::Stop);

5. lépés: Az előírást egy tartományra alkalmazzuk

A validációt egy CellArea felhasználás Validation::AddArea:

CellArea area = CellArea::CreateCellArea("B2", "B20");
v.AddArea(area);

6. lépés: A munkafüzet mentése

workbook.Save("validated.xlsx");
workbook.Dispose();

7. lépés: Futtassa a előzetes mentési hitelesítést (opcionális)

Hívj! WorkbookValidator::ValidateForSave a fejlesztés során, hogy az elkészítés előtt felismerjék a modell problémáit:

WorkbookValidator validator;
validator.ValidateForSave(workbook);
workbook.Save("validated.xlsx");

Általános problémák és megoldások

Nem látható a mentett fájlon belüli hitelesítés Biztosítani a Validation::AddArea(area) A szabályt a régió nem sorrendbe helyezhető.

Nem látható a lemezelő listán. Összeállítva v.SetInCellDropDown(true) és a szett v.SetType(ValidationType::List) a következők: SetFormula1 egy tartományra vagy virágcsík által elválasztott értékekre mutató.

Az átfedő validációs területek Használat ValidationCollection::AreasOverlap az új szabály hozzáadása előtt ellenőrizze, hogy vannak-e konfliktusok. Az átfedett szabályok váratlan viselkedést okozhatnak az Excelben.

Nem jelenik meg a bemeneti üzenet Mindkettőt biztosítani. SetShowInput(true) és a SetInputMessage("...") Az üres üzenetsorozat elnyomja a bemeneti utasítást, még akkor is, ha SetShowInput(true) - Az a neve.

ValidateForSave hibák jelentése A jelentett következetlenségek áttekintése. A gyakori okok közé tartoznak a tartomány-típus érvényesítéséhez szükséges képlet hiányzó határai és az érvénytelen sejtterület koordinátái.

Gyakran feltett kérdések

Milyen validációs típusok támogathatók?

A ValidationType A felsorolás a következőket foglalja magában: WholeNumber, Decimal, List, Date, TextLength, Custom, és Any.

Eltávolíthatom a validációs szabályt egy tartományból?

Igen, használd. ValidationCollection::RemoveArea(area) a szabály eltávolítása egy tartományból, vagy RemoveACell(row, col) Egyetlen cellára.

Alkalmazhatom ugyanazt a validációs szabályt több tartományra?

Igen, hívj. Validation::AddArea(area) többször ugyanazon a helyen. Validation a további tartományokra történő alkalmazására való tiltakozás.

Milyen riasztási módok állnak rendelkezésre?

ValidationAlertType az alábbiakat foglalja magában: Stop (a bejegyzés helytelen blokkolása), Warning (figyelmeztet, de beenged) és Information (csak tájékoztató eszközcsomag).

A hitelesítés futtatásidőben működik, vagy csak az Excel-ben?

Az adatmeghatározási szabályok az XLSX fájlon tárolódnak, és az Excel vagy egy kompatibilis olvasó érvényesíti őket. A könyvtár nem értékeli a validációs korlátokat futtatásidőben, amikor a értékeket programozással állítják be.

Lásd még:

 Magyar