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.