डेटा वैलिडिंग के साथ काम करना

डेटा वैलिडिंग के साथ काम करना

डेटा वैलिडिंग के साथ काम करना

Aspose.Cells FOSS for C++ supports adding cell-level data validation rules to worksheets via the Validation और ValidationCollection कक्षाएं - के लिए WorkbookValidator क्लास एक पूर्व-बंद संतुलन जांच प्रदान करता है।.


एक वैधता नियम जोड़ना

एक कार्यपत्रक के लिए वैधता संग्रह में जाएं और एक नया नियम जोड़ें ValidationCollection::Add(). वापस भेजे गए पर प्रकार, सूत्र और लक्ष्य क्षेत्र सेट करें Validation वस्तु :

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

वैधता प्रकार

के लिए ValidationType सूची में उन प्रकार के प्रतिबंधों को परिभाषित किया गया है जिन्हें लागू किया जा सकता है:

ValidationTypeDescription
WholeNumberकुल मूल्य प्रतिबंध
Decimalफ्लोटिंग पॉइंट सीमित
Listड्रॉप-डाउन सूची से एक सूत्र या रेंज
Dateसमय सीमा सीमित है
TextLengthलंबी सीमितता
Customफॉर्मूला-आधारित नियम

चेतावनी शैली

के लिए ValidationAlertType सूचीकरण व्यवहार को नियंत्रित करता है जब वैधता विफल हो जाती है:

AlertStyleBehavior
Stopप्रवेश को अवरुद्ध करें और एक त्रुटि संवाद दिखाएं
Warningएक चेतावनी दिखाएं; उपयोगकर्ता स्वीकार कर सकता है या अस्वीकार कर सकते हैं
Informationएक सूचना टूल टिप दिखाएं

अलार्म स्टाइल सेट करें Validation::SetAlertStyle(ValidationAlertType).


एक सेल में वैधता की मांग करना

उपयोग करें ValidationCollection::GetValidationInCell(row, col) यह पता लगाने के लिए कि कौन सा वैधता नियम एक विशिष्ट सेल पर लागू होता है. वापसी nullptr अगर कोई नियम नहीं है।.


वैधता नियमों को हटाने के लिए

एक विशिष्ट सेल या रेंज क्षेत्र से वैधता को हटा दें:

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

Pre-Save Workbook Validation के बारे में जानकारी

Call WorkbookValidator::ValidateForSave कामकाजी में संतुलन की जांच करने से पहले एक कार्यपुस्तिका मॉडल पर चलना. यह स्वचालित रूप से कहा जाता है Workbook::Save लेकिन विकास के दौरान स्वतंत्र रूप से संबोधित किया जा सकता है:

WorkbookValidator validator;
validator.ValidateForSave(workbook);

टिप्स और सर्वश्रेष्ठ अभ्यास

  • हमेशा दोनों को बनाएं SetFormula1 और SetFormula2 अनुमान के लिए (WholeNumber, Decimal, Date( ) नीचे और ऊपर की सीमाओं को परिभाषित करने के लिए।.
  • उपयोग करें SetIgnoreBlank(true) खाली कोशिकाओं को कोई त्रुटि पैदा किए बिना वैधता पास करने की अनुमति दें।.
  • Call ValidationCollection::AreasOverlap एक नए नियम जोड़ने से पहले, एक ही शीट पर वैधता क्षेत्रों को पार करने के लिए जांच करें।.
  • WorkbookValidator::ValidateForSave आंतरिक रूप से बचाव के लिए बुलाया जाता है; विकास के दौरान समस्याओं को जल्दी पकड़ने के बारे में इसे बुवा करें।.

सामान्य मुद्दे

IssueCauseफिक्स करें
सेल पर लागू नहीं किया गया वैधताक्षेत्र नहीं जोड़ा गया हैCall Validation::AddArea(area) लक्ष्य रेंज के साथ
डाउनलोड नहीं दिखाने के लिएSetInCellDropDown(false)सेट SetInCellDropDown(true) सूची वैधता के लिए
नियमों से अधिकदो नियम एक ही कोशिकाओं को कवर करते हैंउपयोग करें AreasOverlap संघर्षों का पता लगाने और हल करने के लिए
असफलता के लिए सक्षमअसंगतता मॉडलबचत से पहले रिपोर्ट की असंगति की समीक्षा और सुधार करें

API संदर्भ सारांश

वर्ग / विधिDescription
ValidationCollection::Add()एक नया खाली वैधता नियम जोड़ें
ValidationCollection::GetValidationInCell(row, col)एक सेल के लिए वैधता खोजें
ValidationCollection::RemoveArea(area)एक रेंज से वैधता हटाने के लिए
ValidationCollection::RemoveACell(row, col)एक सेल से वैधता हटाने के लिए
ValidationCollection::AreasOverlapवैधता के क्षेत्रों को देखने के लिए जांच करें
Validation::SetType(ValidationType)वैधता के प्रकार सेट करें
Validation::SetFormula1(expr)नीचे की सीमा या सूची स्रोत सेट करें
Validation::SetFormula2(expr)ऊपर सेट करें बंडल
Validation::AddArea(area)एक नियम को रेंज पर लागू करें
Validation::RemoveArea(area)एक रेंज से नियम हटा दें
Validation::SetAlertStyle(style)रोकने / चेतावनी / सूचना व्यवहार सेट करें
WorkbookValidator::ValidateForSavePre-Save Consistency चेक करें

See Also

 हिन्दी