mirror of
https://github.com/dfinke/ImportExcel.git
synced 2025-12-15 07:43:23 +00:00
Revert "Revert "Added 'DataOnly' parameter""
This reverts commit 782c027960.
This commit is contained in:
@@ -78,7 +78,8 @@ function Import-Excel {
|
||||
$WorkSheetname=1,
|
||||
[int]$HeaderRow=1,
|
||||
[string[]]$Header,
|
||||
[switch]$NoHeader
|
||||
[switch]$NoHeader,
|
||||
[switch]$DataOnly
|
||||
)
|
||||
|
||||
Process {
|
||||
@@ -98,6 +99,24 @@ function Import-Excel {
|
||||
$Columns=$dimension.Columns
|
||||
|
||||
if($NoHeader) {
|
||||
if ($DataOnly) {
|
||||
$CellsWithValues = $worksheet.Cells | where Value
|
||||
|
||||
$Script:i = 0
|
||||
$ColumnReference = $CellsWithValues | Select-Object -ExpandProperty End | Group-Object Column |
|
||||
Select-Object @{L='Column';E={$_.Name}}, @{L='NewColumn';E={$Script:i++; $Script:i}}
|
||||
|
||||
$CellsWithValues | Select-Object -ExpandProperty End | Group-Object Row | ForEach-Object {
|
||||
$newRow = [Ordered]@{}
|
||||
|
||||
foreach ($C in $ColumnReference) {
|
||||
$newRow."P$($C.NewColumn)" = $worksheet.Cells[($_.Name),($C.Column)].Value
|
||||
}
|
||||
|
||||
[PSCustomObject]$newRow
|
||||
}
|
||||
}
|
||||
else {
|
||||
foreach ($Row in 0..($Rows-1)) {
|
||||
$newRow = [Ordered]@{}
|
||||
foreach ($Column in 0..($Columns-1)) {
|
||||
@@ -107,6 +126,7 @@ function Import-Excel {
|
||||
|
||||
[PSCustomObject]$newRow
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if(!$Header) {
|
||||
$Header = foreach ($Column in 1..$Columns) {
|
||||
@@ -116,7 +136,26 @@ function Import-Excel {
|
||||
|
||||
if($Rows -eq 1) {
|
||||
$Header | ForEach {$h=[Ordered]@{}} {$h.$_=''} {[PSCustomObject]$h}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
if ($DataOnly) {
|
||||
$CellsWithValues = $worksheet.Cells | where Value
|
||||
|
||||
$Script:i = -1
|
||||
$ColumnReference = $CellsWithValues | Select-Object -ExpandProperty End | Group-Object Column |
|
||||
Select-Object @{L='Column';E={$_.Name}}, @{L='NewColumn';E={$Script:i++; $Header[$Script:i]}}
|
||||
|
||||
$CellsWithValues | Select-Object -ExpandProperty End | Group-Object Row | ForEach-Object {
|
||||
$newRow = [Ordered]@{}
|
||||
|
||||
foreach ($C in $ColumnReference) {
|
||||
$newRow."$($C.NewColumn)" = $worksheet.Cells[($_.Name),($C.Column)].Value
|
||||
}
|
||||
|
||||
[PSCustomObject]$newRow
|
||||
}
|
||||
}
|
||||
else {
|
||||
foreach ($Row in ($HeaderRow+1)..$Rows) {
|
||||
$h=[Ordered]@{}
|
||||
foreach ($Column in 0..($Columns-1)) {
|
||||
@@ -129,6 +168,7 @@ function Import-Excel {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$stream.Close()
|
||||
$stream.Dispose()
|
||||
|
||||
Reference in New Issue
Block a user