Validazione dei dati in Excel utilizzando Python

La convalida dei dati in Excel garantisce che gli utenti inseriscano il giusto tipo di dati in un foglio di lavoro. Sia che tu stia creando modelli dinamici, raccogliendo dati strutturati o preparando report finanziari, aggiungere convalide aiuta a prevenire errori e mantenere la coerenza. In questo post, esploreremo come implementare la convalida dei dati in Excel utilizzando Python.

Immergiamoci in soluzioni del mondo reale per automatizzare i compiti di validazione di Excel—senza la necessità di avere Microsoft Excel installato.

Questo articolo tratta i seguenti argomenti:

What is Data Validation in Excel?

La convalida dei dati in Excel consente di controllare il tipo e l’intervallo dei dati che gli utenti possono inserire in una cella, contribuendo a mantenere accuratezza e coerenza. Puoi:

  • Consenti solo numeri interi o decimali.
  • Limit input to a specific date range.
  • Fornire elenchi a discesa di scelte valide.
  • Applica regole personalizzate utilizzando formule.

Viene comunemente utilizzato in moduli, strumenti di budgeting e modelli di report. Utilizzando Python, puoi applicare queste regole in modo programmatico con facilità.

Libreria per la Validazione dei Dati in Python Excel

Aspose.Cells for Python è un potente API per fogli di calcolo che consente di creare, modificare e manipolare file Excel senza Excel stesso. Supporta varie funzionalità, tra cui la convalida dei dati, il formato e i grafici. Offre supporto completo per la convalida dei dati per Excel, consentendo agli sviluppatori di

  • Applica la convalida a qualsiasi intervallo o cella.
  • Imposta messaggi di errore personalizzati.
  • Crea menu a discesa dinamici o campi basati su regole.
  • Salva in vari formati come XLSX, XLS e PDF.

Questo ti dà il completo controllo sul comportamento del workbook nelle tue app Python.

Impostare Aspose.Cells for Python

Per iniziare con Aspose.Cells for Python, è necessario installare la libreria. È possibile scaricarla dalle releases.Usa il seguente comando per installarla:

pip install aspose-cells-python

Poi, importa i moduli necessari nel tuo script Python:

import aspose.cells as cells

Sei ora pronto a creare fogli di calcolo potenti e convalidati.

Creazione di una convalida dell’elenco a discesa in Excel utilizzando Python

La convalida dell’elenco a discesa limita l’input a opzioni predefinite—ottimo per garantire valori coerenti. Puoi facilmente aggiungerlo usando Aspose.Cells for Python.

Segui questi passaggi per creare un elenco a discesa semplice e user-friendly nel tuo foglio Excel utilizzando Python:

  1. Crea un nuovo oggetto Workbook.
  2. Accedi al foglio di lavoro per indice.
  3. Accedi alla collezione di validazioni del foglio di lavoro.
  4. Aggiungi una nuova convalida con add().
  5. Imposta il tipo di convalida su Elenco.
  6. Definisci le opzioni a discesa utilizzando formula1.
  7. Specifica l’area della cella obiettivo utilizzando CellArea.
  8. Applica l’area con addarea().
  9. Salva il workbook con save().

Ecco il frammento di codice Python che implementa questi passaggi:

import aspose.cells as cells

# Crea un nuovo libro di lavoro
workbook = cells.Workbook()
worksheet = workbook.worksheets.get(0)

# Accedi alla collezione delle convalide
validations = worksheet.validations

# Aggiungi una nuova convalida
index = validations.add()
validation = validations[index]

# Imposta il tipo di convalida su Elenco
validation.type = cells.ValidationType.LIST
validation.operator = cells.OperatorType.NONE

# Imposta i valori per l'elenco a discesa
validation.formula1 = 'Apple,Banana,Cherry'

# Definire l'area in cui sarà applicata la validazione
area = cells.CellArea()
area.create_cell_area("B1", "B1")

validation.add_area(area)

# Salva il workbook
workbook.save("output_dropdown.xlsx")
Creare una convalida dell'elenco a discesa in Excel utilizzando Python

Creazione di una convalida dell’elenco a discesa in Excel utilizzando Python

Aggiungere una convalida di numeri interi in Excel utilizzando Python

La validazione dei numeri interi o degli intervalli di numeri aiuta a garantire che gli utenti inseriscano solo valori numerici validi, ideale per moduli, budget e qualsiasi inserimento di dati strutturato.

Usando Aspose.Cells for Python, puoi limitare l’input solo ai numeri interi o definire un intervallo numerico valido. Ad esempio, potresti voler che gli utenti inseriscano numeri tra 1 e 100, assicurando dati coerenti che si allineano con le regole aziendali o la logica di calcolo.

Ecco il frammento di codice Python che fa sì che la cella A1 accetti solo numeri compresi tra 1 e 100.

import aspose.cells as cells

# Crea un nuovo cartella di lavoro
workbook = cells.Workbook()
worksheet = workbook.worksheets.get(0)

# Aggiungi convalida alla cella A1
idx = worksheet.validations.add()
validation = worksheet.validations[idx]
validation.type = cells.ValidationType.WHOLE_NUMBER
validation.operator = cells.OperatorType.BETWEEN
validation.formula1 = "1"
validation.formula2 = "100"

# Definire l'area in cui verrà applicata la convalida
area = cells.CellArea()
area.create_cell_area("A1", "A1")

validation.add_area(area)

# Salva il workbook
workbook.save("WholeNumber_output_dropdown.xlsx")

Validazione della data in Excel utilizzando Python

La validazione delle date ti aiuta a assicurarti che gli utenti inseriscano date corrette, specialmente in programmi, scadenze o moduli. Con Aspose.Cells for Python, puoi facilmente limitare le voci a date valide o a un intervallo di date specifico.

Ad esempio, potresti voler garantire che gli utenti possano inserire solo date tra il 1 gennaio 2024 e il 31 dicembre 2024. È particolarmente utile in fogli di pianificazione di progetti, registri di presenze o sistemi di prenotazione.

Ecco il frammento di codice Python che mostra come consentire agli utenti di inserire solo date comprese tra il 2024-01-01 e il 2024-12-31.

import aspose.cells as cells

# Crea un nuovo foglio di lavoro
workbook = cells.Workbook()
worksheet = workbook.worksheets.get(0)

# Access validations collection
validations = worksheet.validations

# Aggiungi una nuova validazione
index = validations.add()
validation = validations[index]

# Imposta il tipo di validazione su Data
validation.type = cells.ValidationType.DATE
validation.operator = cells.OperatorType.BETWEEN

# Imposta le date di inizio e fine (usa le stringhe di formula)
validation.formula1 = '"2024-01-01"'
validation.formula2 = '"2024-12-31"'

# Definire l'area in cui si applicherà la convalida (ad es., C1:C10)
area = cells.CellArea()
area.start_row = 0
area.end_row = 9
area.start_column = 2  # Column C (A=0, B=1, C=2)
area.end_column = 2

validation.add_area(area)

# Salva il workbook
workbook.save("output_date_validation.xlsx")

Applica la convalida dei dati basata su formula in Excel

La convalida basata su formula offre la flessibilità di definire regole personalizzate che vanno oltre i tipi standard come numeri o elenchi. Invece di valori fissi, puoi utilizzare formule in stile Excel per convalidare dinamicamente i dati in base a condizioni o valori in altre celle.

Puoi convalidare le celle in base a formule come mostrato di seguito:

import aspose.cells as cells

# Crea un nuovo workbook
workbook = cells.Workbook()
worksheet = workbook.worksheets.get(0)

# Aggiungi validazione
idx = worksheet.validations.add()
validation = worksheet.validations[idx]
validation.type = cells.ValidationType.CUSTOM
validation.formula1 = "=B1>A1"

# Definire l'area in cui sarà applicata la validazione
area = cells.CellArea()
area.create_cell_area("B1", "B1")

validation.add_area(area)

# Salva il workbook
workbook.save("formula_validation.xlsx")

L’esempio di codice sopra garantisce che il valore inserito nella cella B1 deve sempre essere superiore al valore in A1. Utilizzando una formula personalizzata come =B1>A1, è possibile imporre questa logica con Aspose.Cells for Python.

Questo approccio è particolarmente utile quando:

  • La convalida dipende dalle celle correlate.
  • Devi applicare la logica aziendale, come confronti di date o vincoli tra campi.
  • Le condizioni per un input valido sono complesse o sensibili al contesto.

Proprio come in Excel, la formula dovrebbe restituire TRUE per le voci valide e FALSE per quelle non valide. Aspose.Cells valuta automaticamente questa formula quando l’utente inserisce dati.

Le validazioni della formula personalizzata ti aiutano a replicare le capacità di validazione più avanzate di Excel, interamente attraverso il codice Python.

Gestire dati non validi con avvisi in Excel utilizzando Python

Quando si applica la convalida dei dati in Excel, è importante guidare gli utenti con messaggi utili, specialmente quando inseriscono valori errati. Aspose.Cells for Python offre supporto integrato per avvisi personalizzati e messaggi di input, rendendo i tuoi fogli di calcolo più facili da usare e professionali.

Puoi impostare un avviso di errore chiaro per guidare gli utenti quando inseriscono qualcosa che infrange la regola.

  • Stile di avviso: Stop, Avviso o Informazione
  • Title: Il titolo della finestra di dialogo (ad esempio, “Voce non valida”, “Campo richiesto mancante”)
  • Messaggio: Il messaggio di errore mostrato all’utente (ad esempio, `Si prega di inserire un valore compreso tra 1 e 100.”)
  • Sembra apparire quando un utente seleziona la cella e offre un suggerimento o un’istruzione, come: `Solo valori da 1 a 100 sono consentiti.”

Ecco un codice completo ma conciso per gestire dati non validi con avvisi utilizzando Aspose.Cells for Python:

import aspose.cells as cells

# Crea un nuovo workbook
workbook = cells.Workbook()
worksheet = workbook.worksheets.get(0)

# Aggiungi la convalida dell'intervallo di numeri
idx = worksheet.validations.add()
validation = worksheet.validations[idx]
validation.type = cells.ValidationType.CUSTOM
validation.formula1 = "=NOT(ISBLANK(B1))"

# Definisci l'area in cui verrà applicata la validazione.
area = cells.CellArea()
area.create_cell_area("C1", "C1")

# Configura il messaggio di errore e il suggerimento di input
validation.alert_style = cells.ValidationAlertType.STOP
validation.error_title = "Missing Required Field"
validation.error_message = "Please fill in cell B1 before entering data in C1."
validation.input_title = "Dependent Field"
validation.input_message = "You must complete B1 before filling this field."
validation.show_error = True
validation.show_input = True

# Salva il foglio di lavoro
workbook.save("validated_with_alerts.xlsx")
Gestire i Dati Non Validi con Avvisi in Excel utilizzando Python

Gestione dei dati non validi con avvisi in Excel utilizzando Python

Provalo gratuitamente

Ottieni una temporary license per esplorare tutte le funzionalità di Aspose.Cells for Python: nessun limite sulle funzionalità.

Validazione dei Dati Excel: Risorse Gratuite

Esplora di più sulla convalida dei dati in Excel e su come automatizzarla con Python utilizzando queste risorse gratuite e utili.

  • Developer’s Guide: Scopri come creare, modificare e convalidare file Excel programmaticamente con documentazione dettagliata.
  • Free Online Applications: Utilizza gli strumenti di Excel online per convalidare, convertire o generare fogli di calcolo istantaneamente.
  • API Reference: Scopri le classi, i metodi e i tipi di convalida disponibili in Aspose.Cells for Python.
  • How-To Guides and Articles: Scopri esempi e casi d’uso reali sul blog ufficiale di Aspose.

Conclusione

In questo post del blog, abbiamo esplorato la convalida dei dati in Excel usando Python. Abbiamo dimostrato come aggiungere elenchi a discesa, intervalli di numeri e convalide di date utilizzando Aspose.Cells for Python. Questa libreria ti consente di implementare la convalida dei dati programmaticamente in Python. Ti incoraggiamo a esplorare di più su Aspose.Cells for Python e a migliorare le tue abilità di automazione in Excel.

Se hai domande o hai bisogno di ulteriore assistenza, non esitare a contattarci nel nostro free support forum.

See Also