Rad s potvrđivanjem podataka

Rad s potvrđivanjem podataka

Rad s potvrđivanjem podataka

Aspose.Cells FOSS for C++ supports adding cell-level data validation rules to worksheets via the Validation i u članku 1. ValidationCollection Učenici. WorkbookValidator U ovom slučaju, u skladu s člankom 4. stavkom 1. točkom (a) ovog članka.


Dodavanje pravila potvrde

Pristupite zbirci potvrđivanja za radni list i dodajte novo pravilo koristeći: ValidationCollection::Add(). Postavite tip, formulu i ciljno područje na vraćenom Validation predmet:

#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;

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

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

    v.SetType(ValidationType::WholeNumber);
    v.SetFormula1("1");
    v.SetFormula2("100");
    v.SetIgnoreBlank(true);
    v.SetInCellDropDown(false);
    v.SetInputTitle("Enter Value");
    v.SetInputMessage("Value must be between 1 and 100.");
    v.SetErrorTitle("Invalid Input");
    v.SetErrorMessage("Value is out of range.");
    v.SetShowInput(true);
    v.SetShowError(true);

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

    workbook.Save("validated.xlsx");
    return 0;
}

Vrste potvrđivanja:

U skladu s člankom 1. ValidationType U ovom članku se navode sljedeće uvjete:

ValidationTypeOpisivanje
WholeNumberOgraničenje za cijele vrijednosti
DecimalU slučaju da se u skladu s člankom 7. stavkom 1. točkom (a) ne primjenjuje.
ListIznos od 0,003 do 0,010 u skladu s člankom 72. stavkom 1. točkom (a) Uredbe (EU) br. 575/2013.
DateOgraničenje vrijednosti datuma
TextLengthOgraničenje dužine niza (string length constraint)
CustomProvedba o carinskom pravilu na temelju formule

Slika upozorenja

U skladu s člankom 1. ValidationAlertType U slučaju da se potvrda ne ispuni, mora biti upotreba:

AlertStylePonašanje
StopBlokira ulazak i prikazuje dijalog o pogrešci
WarningPokazuje upozorenje; korisnik može prihvatiti ili odbiti
InformationPokazuje informacijski alatni savjet

Postavi stil upozorenja s: Validation::SetAlertStyle(ValidationAlertType).


Upitavanje potvrde u stanici

Upotreba: ValidationCollection::GetValidationInCell(row, col) Da bi se utvrdilo koje pravilo validacije primjenjuje na određenu ćeliju. nullptr ako se ne primjenjuje nikakvo pravilo.


Uklanjanje pravila potvrđivanja

U ovom slučaju, u skladu s člankom 4. stavkom 1. točkom (a) točke (d) podtočke 2. i 3. ovog članka:

CellArea area = CellArea::CreateCellArea("B2", "B10");
validations.RemoveArea(area);
// Or remove a single cell:
validations.RemoveACell(1, 1); // row=1, col=1 (0-based)

Validacija radne sveske prije čuvanja

Zovi me. WorkbookValidator::ValidateForSave To se automatski zove pomoću: Workbook::Save ali se može samostalno pozvati tijekom razvoja:

WorkbookValidator validator;
validator.ValidateForSave(workbook);

Savjeti i najbolje prakse

  • Uvijek postaviti oboje. SetFormula1 i u članku 1. SetFormula2 za potvrđivanje tipa opsega (WholeNumber, Decimal, Date) za utvrđivanje donje i gornje granice.
  • Upotreba: SetIgnoreBlank(true) U slučaju da je to moguće, mora se provesti ispitivanje.
  • Zovi me. ValidationCollection::AreasOverlap U slučaju da se u skladu s člankom 7. stavku 1. točka (a) ne primjenjuje, podnositelj zahtjeva može zatražiti od nadležnog tijela da odobri postupak za utvrđivanje i provjeru.
  • WorkbookValidator::ValidateForSave se poziva unutar savea; pozovite ga tijekom razvoja kako biste problem ranije otkrili.

Zajednički problemi

IzdavanjeUzrokPopraviti
Ne primjenjuje se na ćeliju.Neizvršena površinaZovi me. Validation::AddArea(area) s ciljnim opsegom
Ne prikazuje se popunjeni popisSetInCellDropDown(false)Sastavljeno SetInCellDropDown(true) za potvrđivanje liste
Pravilnice se preklapajuU ovom slučaju, u skladu s člankom 78. stavkom 1. točka (b) Uredbe (EU) br. 575/2013.Upotreba: AreasOverlap za otkrivanje i rješavanje sukoba;
Neuspjeh potvrđivanja za pohranuNeispunjenost modelaProvedba i ispravljanje prijavljene neskladnosti prije pohranjivanja.

Svrha referentnog API-a

Sredstva za ispitivanje i provedbuOpisivanje
ValidationCollection::Add()Dodaj novo prazno pravilo za potvrdu.
ValidationCollection::GetValidationInCell(row, col)Pronađite potvrdu za ćeliju
ValidationCollection::RemoveArea(area)Uklanjanje potvrde iz opsega
ValidationCollection::RemoveACell(row, col)Uklanjanje potvrde iz ćelije
ValidationCollection::AreasOverlapPrikaz za preklapanje područja validacije
Validation::SetType(ValidationType)Postavljanje tipa potvrde:
Validation::SetFormula1(expr)Postaviti donju granicu ili izvor liste
Validation::SetFormula2(expr)Prikaz:
Validation::AddArea(area)Primjenite pravilo na opseg
Validation::RemoveArea(area)Uklanjanje pravila iz opsega
Validation::SetAlertStyle(style)Svrha za određivanje:
WorkbookValidator::ValidateForSaveKontrolisanje usklađenosti prije pohranjivanja

Također pogledajte:

 Hrvatski