Як додати підтвердження даних до таблиці в C++

Як додати підтвердження даних до таблиці в C++

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, і WorkbookValidator класи складають API для валідації.

Крок за кроком посібник

Перший крок: Створити.

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 крок: включте обов’язкові заголовки.

#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: Доступ до колекції підтвердження

Відновити ValidationCollection з таблиці:

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

Крок 4: Додати правило підтвердження

Call ValidationCollection::Add() і налаштувати повернення Validation об’єкт:

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: застосувати правило до діапазону

Прикріплення валідації до CellArea використання Validation::AddArea:

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

Крок 6: Зберегти робочу книгу

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

Крок 7: Запустити перевірку збереження (опціонально)

Call WorkbookValidator::ValidateForSave під час розробки, щоб виявити проблеми з моделлю перед збереженням:

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

Загальні проблеми та рішення

Перевірка не помітна в збереженому файлі Ensure Validation::AddArea(area) Правило без пов’язаної області не серіалізується.

Список не відображається Набір v.SetInCellDropDown(true) і встановлено v.SetType(ValidationType::List) з: SetFormula1 вказуючи на діапазон або значення, відокремлені за допомогою кома.

Перетинаються зони валідації Використання ValidationCollection::AreasOverlap перевірка конфліктів перед додаванням нового правила. Переповнення правил може викликати несподіване поведінку в Excel.

Не відображається повідомлення входу Забезпечити обох: SetShowInput(true) і SetInputMessage("...") Пояснення, що вхідний запис не є. SetShowInput(true) називається.

ValidateForSave звіти про помилки Переглянути повідомлену невідповідність. Спільні причини включають відсутність обмежень формули для підтвердження типу діапазону та координати площі ячейки, які не дійсні.

Часто задавані запитання

Які типи підтвердження підтримуються?

У. ValidationType Перелік включає: WholeNumber, Decimal, List, Date, TextLength, Custom, і Any.

Чи можу я видалити правило підтвердження з діапазону?

Так, використовуйте. ValidationCollection::RemoveArea(area) видалити правило з діапазону, або RemoveACell(row, col) для однієї клітини.

Чи можна застосувати одне і те ж правило для розмежов?

Так, подзвони. Validation::AddArea(area) кілька разів на одному і тому ж Validation заперечувати проти застосування його до додаткових діапазонів.

Які способи попередження доступні?

ValidationAlertType включає: Stop (блокує недійсний запис), Warning (попереджує, але дозволяє в’їхати), і Information (только інформаційні підкази).

Чи працює валідація в часі виконання або тільки у Excel?

Правила підтвердження даних зберігаються в файлі XLSX і виконуються Excel або сумісним читачем. Бібліотека не оцінює обмеження підтверджування під час виконання, коли значення встановлені програмно.

See Also

 Українська