mirror of
https://github.com/dfinke/ImportExcel.git
synced 2026-01-05 10:03:30 +00:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
be5d270f44 | ||
|
|
f9fb49ad04 | ||
|
|
4727bb3b2b | ||
|
|
ac435fc1e1 | ||
|
|
340ffc560b | ||
|
|
069c227391 | ||
|
|
fa4f3a23cd | ||
|
|
f54db0e2d9 | ||
|
|
8c1388a799 |
10
Examples/FormatResults/GetAsMarkdownTable.ps1
Normal file
10
Examples/FormatResults/GetAsMarkdownTable.ps1
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
param(
|
||||||
|
[Alias('FullName')]
|
||||||
|
[String[]]$Path
|
||||||
|
)
|
||||||
|
|
||||||
|
if ($PSVersionTable.PSVersion.Major -gt 5 -and -not (Get-Command Format-Markdown -ErrorAction SilentlyContinue)) {
|
||||||
|
throw "This requires EZOut. Install-Module EZOut -AllowClobber -Scope CurrentUser"
|
||||||
|
}
|
||||||
|
|
||||||
|
Import-Excel $Path | Format-Markdown
|
||||||
10
Examples/FormatResults/GetAsYaml.ps1
Normal file
10
Examples/FormatResults/GetAsYaml.ps1
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
param(
|
||||||
|
[Alias('FullName')]
|
||||||
|
[String[]]$Path
|
||||||
|
)
|
||||||
|
|
||||||
|
if ($PSVersionTable.PSVersion.Major -gt 5 -and -not (Get-Command Format-YAML -ErrorAction SilentlyContinue)) {
|
||||||
|
throw "This requires EZOut. Install-Module EZOut -AllowClobber -Scope CurrentUser"
|
||||||
|
}
|
||||||
|
|
||||||
|
Import-Excel $Path | Format-YAML
|
||||||
11
Examples/FormatResults/Sample.csv
Normal file
11
Examples/FormatResults/Sample.csv
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
"OrderId","Category","Sales","Quantity","Discount"
|
||||||
|
"1","Cosmetics","744.01","7","0.7"
|
||||||
|
"2","Grocery","349.13","25","0.3"
|
||||||
|
"3","Apparels","535.11","88","0.2"
|
||||||
|
"4","Electronics","524.69","60","0.1"
|
||||||
|
"5","Electronics","439.1","41","0"
|
||||||
|
"6","Apparels","56.84","54","0.8"
|
||||||
|
"7","Electronics","326.66","97","0.7"
|
||||||
|
"8","Cosmetics","17.25","74","0.6"
|
||||||
|
"9","Grocery","199.96","39","0.4"
|
||||||
|
"10","Grocery","731.77","20","0.3"
|
||||||
|
BIN
Examples/FormatResults/Sample.xlsx
Normal file
BIN
Examples/FormatResults/Sample.xlsx
Normal file
Binary file not shown.
@@ -6,7 +6,7 @@
|
|||||||
RootModule = 'ImportExcel.psm1'
|
RootModule = 'ImportExcel.psm1'
|
||||||
|
|
||||||
# Version number of this module.
|
# Version number of this module.
|
||||||
ModuleVersion = '7.8.0'
|
ModuleVersion = '7.8.1'
|
||||||
|
|
||||||
# ID used to uniquely identify this module
|
# ID used to uniquely identify this module
|
||||||
GUID = '60dd4136-feff-401a-ba27-a84458c57ede'
|
GUID = '60dd4136-feff-401a-ba27-a84458c57ede'
|
||||||
|
|||||||
@@ -118,7 +118,7 @@
|
|||||||
Write-Warning -Message "The condition will look for the quotes at the start and end."
|
Write-Warning -Message "The condition will look for the quotes at the start and end."
|
||||||
}
|
}
|
||||||
if ($PSBoundParameters.ContainsKey("ConditionValue" ) -and
|
if ($PSBoundParameters.ContainsKey("ConditionValue" ) -and
|
||||||
$RuleType -match "Top|Botom" ) {$rule.Rank = $ConditionValue }
|
$RuleType -match "Top|Bottom" ) {$rule.Rank = $ConditionValue }
|
||||||
if ($PSBoundParameters.ContainsKey("ConditionValue" ) -and
|
if ($PSBoundParameters.ContainsKey("ConditionValue" ) -and
|
||||||
$RuleType -match "StdDev" ) {$rule.StdDev = $ConditionValue }
|
$RuleType -match "StdDev" ) {$rule.StdDev = $ConditionValue }
|
||||||
if ($PSBoundParameters.ContainsKey("ConditionValue" ) -and
|
if ($PSBoundParameters.ContainsKey("ConditionValue" ) -and
|
||||||
|
|||||||
@@ -140,4 +140,72 @@ Describe "Creating small named ranges with hyperlinks" {
|
|||||||
$pt.RowFields[1].Grouping.Interval | Should -Be 3
|
$pt.RowFields[1].Grouping.Interval | Should -Be 3
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Context "Adding group date column" -Tag GroupColumnTests {
|
||||||
|
it "Tests adding a group date column" {
|
||||||
|
$xlFile = "TestDrive:\Results.xlsx"
|
||||||
|
Remove-Item $xlFile -ErrorAction Ignore
|
||||||
|
|
||||||
|
$PivotTableDefinition = New-PivotTableDefinition -Activate -PivotTableName Points `
|
||||||
|
-PivotRows Driver -PivotColumns Date -PivotData @{Points = "SUM" } -GroupDateColumn Date -GroupDatePart Years, Months
|
||||||
|
|
||||||
|
$excel = Import-Csv "$PSScriptRoot\First10Races.csv" |
|
||||||
|
Select-Object Race, @{n = "Date"; e = { [datetime]::ParseExact($_.date, "dd/MM/yyyy", (Get-Culture)) } }, FinishPosition, Driver, GridPosition, Team, Points |
|
||||||
|
Export-Excel $xlFile -AutoSize -PivotTableDefinition $PivotTableDefinition -PassThru
|
||||||
|
|
||||||
|
$excel.Workbook.Worksheets.Count | Should -Be 2
|
||||||
|
$excel.Workbook.Worksheets[1].Name | Should -BeExactly 'Sheet1'
|
||||||
|
$excel.Workbook.Worksheets[2].Name | Should -BeExactly 'Points'
|
||||||
|
$excel.Points.PivotTables.Count | Should -Be 1
|
||||||
|
$pt = $excel.Points.PivotTables[0]
|
||||||
|
$pt.RowFields.Count | Should -Be 1
|
||||||
|
$pt.RowFields[0].name | Should -Be "Driver"
|
||||||
|
|
||||||
|
$pt.ColumnFields.Count | Should -Be 2
|
||||||
|
|
||||||
|
$pt.ColumnFields[0].name | Should -Be "Years"
|
||||||
|
$pt.ColumnFields[0].Grouping | Should -Not -BeNullOrEmpty
|
||||||
|
$pt.ColumnFields[0].Grouping.GroupBy | Should -Be "Years"
|
||||||
|
|
||||||
|
$pt.ColumnFields[1].name | Should -Be "Date"
|
||||||
|
$pt.ColumnFields[1].Grouping | Should -Not -BeNullOrEmpty
|
||||||
|
$pt.ColumnFields[1].Grouping.GroupBy | Should -Be "Months"
|
||||||
|
|
||||||
|
Close-ExcelPackage $excel
|
||||||
|
|
||||||
|
Remove-Item $xlFile -ErrorAction Ignore
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Context "Adding group numeric column" -Tag GroupColumnTests {
|
||||||
|
it "Tests adding numeric group column" {
|
||||||
|
$xlFile = "TestDrive:\Results.xlsx"
|
||||||
|
Remove-Item $xlFile -ErrorAction Ignore
|
||||||
|
|
||||||
|
$PivotTableDefinition = New-PivotTableDefinition -Activate -PivotTableName Places `
|
||||||
|
-PivotRows Driver -PivotColumns FinishPosition -PivotData @{Date = "Count" } -GroupNumericColumn FinishPosition -GroupNumericMin 1 -GroupNumericMax 25 -GroupNumericInterval 3
|
||||||
|
|
||||||
|
$excel = Import-Csv "$PSScriptRoot\First10Races.csv" |
|
||||||
|
Select-Object Race, @{n = "Date"; e = { [datetime]::ParseExact($_.date, "dd/MM/yyyy", (Get-Culture)) } }, FinishPosition, Driver, GridPosition, Team, Points |
|
||||||
|
Export-Excel $xlFile -AutoSize -PivotTableDefinition $PivotTableDefinition -PassThru
|
||||||
|
|
||||||
|
$excel.Workbook.Worksheets.Count | Should -Be 2
|
||||||
|
$excel.Workbook.Worksheets[1].Name | Should -BeExactly 'Sheet1'
|
||||||
|
$excel.Workbook.Worksheets[2].Name | Should -BeExactly 'Places'
|
||||||
|
$excel.Places.PivotTables.Count | Should -Be 1
|
||||||
|
$pt = $excel.Places.PivotTables[0]
|
||||||
|
$pt.RowFields.Count | Should -Be 1
|
||||||
|
$pt.RowFields[0].name | Should -Be "Driver"
|
||||||
|
|
||||||
|
$pt.ColumnFields.Count | Should -Be 1
|
||||||
|
|
||||||
|
$pt.ColumnFields[0].name | Should -Be "FinishPosition"
|
||||||
|
$pt.ColumnFields[0].Grouping | Should -Not -BeNullOrEmpty
|
||||||
|
$pt.ColumnFields[0].Grouping.Start | Should -Be 1
|
||||||
|
$pt.ColumnFields[0].Grouping.End | Should -Be 25
|
||||||
|
$pt.ColumnFields[0].Grouping.Interval | Should -Be 3
|
||||||
|
|
||||||
|
Close-ExcelPackage $excel
|
||||||
|
|
||||||
|
Remove-Item $xlFile -ErrorAction Ignore
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,3 +1,10 @@
|
|||||||
|
# 7.8.1
|
||||||
|
|
||||||
|
- Fixed conditional formatting so it recognizes 'Top and Bottom' as a rule type. Thanks [g-pearl](https://github.com/g-pearl)
|
||||||
|
* Update open-excelpackage.md. Thanks [stahler](https://github.com/stahler)
|
||||||
|
- Added Group Column tests
|
||||||
|
|
||||||
|
|
||||||
# 7.8.0
|
# 7.8.0
|
||||||
Thanks [James O'Neill](https://github.com/jhoneill)
|
Thanks [James O'Neill](https://github.com/jhoneill)
|
||||||
|
|
||||||
|
|||||||
@@ -39,8 +39,8 @@ This will create a new file in the temp folder if it doesn't already exist. It t
|
|||||||
### EXAMPLE 2
|
### EXAMPLE 2
|
||||||
|
|
||||||
```text
|
```text
|
||||||
PS\> $excela= Open-ExcelPackage -path "$xlPath" -Password $password
|
PS\> $excel= Open-ExcelPackage -path "$xlPath" -Password $password
|
||||||
PS\> $sheet1 = $excel.Workbook.Worksheetsa"sheet1" ]
|
PS\> $sheet1 = $excel.Workbook.Worksheets["sheet1"]
|
||||||
PS\> Set-ExcelRange -Range $sheet1.Cells ["E1:S1048576" ], $sheet1.Cells ["V1:V1048576" ] -NFormat ( [cultureinfo ]::CurrentCulture.DateTimeFormat.ShortDatePattern)
|
PS\> Set-ExcelRange -Range $sheet1.Cells ["E1:S1048576" ], $sheet1.Cells ["V1:V1048576" ] -NFormat ( [cultureinfo ]::CurrentCulture.DateTimeFormat.ShortDatePattern)
|
||||||
PS\> Close-ExcelPackage $excel -Show
|
PS\> Close-ExcelPackage $excel -Show
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user