mirror of
https://github.com/dfinke/ImportExcel.git
synced 2025-12-15 07:43:23 +00:00
Pulled from the tests. Added additional rule
This commit is contained in:
71
Examples/ExcelDataValidation/MutipleValidations.ps1
Normal file
71
Examples/ExcelDataValidation/MutipleValidations.ps1
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
<#
|
||||||
|
This examples demos three types of validation:
|
||||||
|
* Creating a list using a PowerShell array
|
||||||
|
* Creating a list data from another Excel Worksheet
|
||||||
|
* Creating a rule for numbers to be between 0 an 10000
|
||||||
|
|
||||||
|
Run the script then try"
|
||||||
|
* Add random data in Column B
|
||||||
|
* Then choose from the drop down list
|
||||||
|
* Add random data in Column C
|
||||||
|
* Then choose from the drop down list
|
||||||
|
* Add .01 in column F
|
||||||
|
#>
|
||||||
|
|
||||||
|
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
|
||||||
|
|
||||||
|
$path = "$Env:TEMP\DataValidation.xlsx"
|
||||||
|
Remove-Item $path -ErrorAction SilentlyContinue
|
||||||
|
|
||||||
|
$data = ConvertFrom-Csv -InputObject @"
|
||||||
|
ID,Region,Product,Quantity,Price
|
||||||
|
12001,North,Nails,37,3.99
|
||||||
|
12002,South,Hammer,5,12.10
|
||||||
|
12003,East,Saw,12,15.37
|
||||||
|
12010,West,Drill,20,8
|
||||||
|
12011,North,Crowbar,7,23.48
|
||||||
|
"@
|
||||||
|
|
||||||
|
# Export the raw data
|
||||||
|
$excelPackage = $Data |
|
||||||
|
Export-Excel -WorksheetName "Sales" -Path $path -PassThru
|
||||||
|
|
||||||
|
# Creates a sheet with data that will be used in a validation rule
|
||||||
|
$excelPackage = @('Chisel', 'Crowbar', 'Drill', 'Hammer', 'Nails', 'Saw', 'Screwdriver', 'Wrench') |
|
||||||
|
Export-excel -ExcelPackage $excelPackage -WorksheetName Values -PassThru
|
||||||
|
|
||||||
|
$ValidationParams = @{WorkSheet = $excelPackage.sales; ShowErrorMessage = $true; ErrorStyle = 'stop'; ErrorTitle = 'Invalid Data' }
|
||||||
|
|
||||||
|
# Creating a list using a PowerShell array
|
||||||
|
$MoreValidationParams = @{
|
||||||
|
Range = 'B2:B1001'
|
||||||
|
ValidationType = 'List'
|
||||||
|
ValueSet = @('North', 'South', 'East', 'West')
|
||||||
|
ErrorBody = "You must select an item from the list."
|
||||||
|
}
|
||||||
|
|
||||||
|
Add-ExcelDataValidationRule @ValidationParams @MoreValidationParams
|
||||||
|
|
||||||
|
# Creating a list data from another Excel Worksheet
|
||||||
|
$MoreValidationParams = @{
|
||||||
|
Range = 'C2:C1001'
|
||||||
|
ValidationType = 'List'
|
||||||
|
Formula = 'values!$a$1:$a$10'
|
||||||
|
ErrorBody = "You must select an item from the list.`r`nYou can add to the list on the values page" #Bucket
|
||||||
|
}
|
||||||
|
|
||||||
|
Add-ExcelDataValidationRule @ValidationParams @MoreValidationParams
|
||||||
|
|
||||||
|
# Creating a rule for numbers to be between 0 an 10000
|
||||||
|
$MoreValidationParams = @{
|
||||||
|
Range = 'F2:F1001'
|
||||||
|
ValidationType = 'Integer'
|
||||||
|
Operator = 'between'
|
||||||
|
Value = 0
|
||||||
|
Value2 = 10000
|
||||||
|
ErrorBody = 'Quantity must be a whole number between 0 and 10000'
|
||||||
|
}
|
||||||
|
|
||||||
|
Add-ExcelDataValidationRule @ValidationParams @MoreValidationParams
|
||||||
|
|
||||||
|
Close-ExcelPackage -ExcelPackage $excelPackage -Show
|
||||||
Reference in New Issue
Block a user